Template metaprogramming with C++ : learn everything about C++ templates and unlock the power of template metaprogramming / Marius Bancila.

Understand how to use modern C++ templates for writing maintainable, robust, and fast software Key Features Grasp the fundamentals of and learn to write effective C++ templates Get up to speed with the latest C++20 template features such as constraints and concepts Explore different patterns and idi...

Full description

Saved in:
Bibliographic Details
Online Access: Full Text (via O'Reilly/Safari)
Main Author: Bancila, Marius (Author)
Format: eBook
Language:English
Published: Birmingham : Packt Publishing, Limited, 2022.
Subjects:

MARC

LEADER 00000cam a22000007a 4500
001 b12772647
006 m o d
007 cr |||||||||||
008 220820s2022 enka ob 000 0 eng d
005 20240829150603.7
020 |a 1803230533 
020 |a 9781803230535  |q (electronic bk.) 
029 1 |a AU@  |b 000072462850 
035 |a (OCoLC)safo1341444053 
035 |a (OCoLC)1341444053 
037 |a safo9781803243450 
040 |a EBLCP  |b eng  |e pn  |c EBLCP  |d ORMDA  |d OCLCQ  |d EBLCP  |d OCLCF  |d N$T  |d OCLCQ  |d IEEEE  |d OCLCO 
049 |a GWRE 
050 4 |a QA76.73.C153A325 
100 1 |a Bancila, Marius,  |e author. 
245 1 0 |a Template metaprogramming with C++ :  |b learn everything about C++ templates and unlock the power of template metaprogramming /  |c Marius Bancila. 
260 |a Birmingham :  |b Packt Publishing, Limited,  |c 2022. 
300 |a 1 online resource (480 pages) :  |b illustrations 
336 |a text  |b txt  |2 rdacontent 
337 |a computer  |b c  |2 rdamedia 
338 |a volume  |b nc  |2 rdacarrier 
588 0 |a Print version record. 
504 |a Includes bibliographical references. 
520 |a Understand how to use modern C++ templates for writing maintainable, robust, and fast software Key Features Grasp the fundamentals of and learn to write effective C++ templates Get up to speed with the latest C++20 template features such as constraints and concepts Explore different patterns and idioms to integrate templates in your program design Book Description Learn how the metaprogramming technique enables you to create data structures and functions that allow computation to happen at compile time. With this book, you'll realize how templates help you avoid writing duplicate code and are key to creating generic libraries, such as the standard library or Boost, that can be used in a multitude of programs. The introductory chapters of this book will give you insights into the fundamentals of templates and metaprogramming. You'll then move on to practice writing complex templates and exploring advanced concepts such as template recursion, template argument deduction, forwarding references, type traits, and conditional compilation. Along the way, you'll learn how to write variadic templates and how to provide requirements to the template arguments with C++20 constraints and concepts. Finally, you'll apply your knowledge of C++ metaprogramming templates to implement various metaprogramming patterns and techniques. By the end of this book, you'll have learned how to write effective templates and implement metaprogramming in your everyday programming journey. What you will learn Understand the syntax for all types of templates Discover how specialization and instantiation works Get to grips with template argument deduction and forwarding references Write variadic templates with ease Become familiar with type traits and conditional compilation Restrict template arguments in C++20 with constraints and concepts Implement patterns such as CRTP, mixins, and tag dispatching Who this book is for This book is for beginner-to-intermediate C++ developers who want to learn about template metaprogramming as well as advanced C++ developers looking to get up to speed with the new C++20 features related to templates and the the various idioms and patterns. Basic C++ coding experience is necessary to get started with this book. 
505 0 |a Table of Contents Introduction to Templates Template Fundamentals Variadic Templates Advanced Template Concepts Type Traits and Conditional Compilation Concepts and Constraints Patterns and Idioms Ranges and Algorithms The Ranges Library Appendix. 
650 0 |a Computer programming. 
650 0 |a C++ (Computer program language) 
650 7 |a C++ (Computer program language)  |2 fast 
650 7 |a Computer programming  |2 fast 
776 0 8 |i Print version:  |a Bancila, Marius.  |t Template Metaprogramming with C++.  |d Birmingham : Packt Publishing, Limited, ©2022 
856 4 0 |u https://go.oreilly.com/UniOfColoradoBoulder/library/view/~/9781803243450/?ar  |z Full Text (via O'Reilly/Safari) 
915 |a 7 
956 |a O'Reilly-Safari eBooks 
956 |b O'Reilly Online Learning: Academic/Public Library Edition 
994 |a 92  |b COD 
998 |b Subsequent record output 
999 f f |i 10eeb023-a311-58be-8ff8-d99618013ae2  |s 6ca88b8e-a865-5495-a842-217fe7cb341b 
952 f f |p Can circulate  |a University of Colorado Boulder  |b Online  |c Online  |d Online  |e QA76.73.C153A325  |h Library of Congress classification  |i web  |n 1