|
C++ Template Metaprogramming
Solutions to the exercises throughout the book
|
Encapsulate solution for Exercise 2-1. More...
Namespaces | |
| namespace | cpp20 |
| Encapsulate solution for Exercise 2-1 (C++20). | |
Classes | |
| struct | replace_type |
| Given an arbitrary compound type, replace nested types. More... | |
| struct | replace_type< C &, X, Y > |
| Descend through reference types. More... | |
| struct | replace_type< C *, X, Y > |
| Descend through pointer types. More... | |
| struct | replace_type< C[N], X, Y > |
| Descend through array types. More... | |
| struct | replace_type< Cr(*)(), X, Y > |
| Descent through nullary function types. More... | |
| struct | replace_type< Cr(*)(C0), X, Y > |
| Descent through unary function types. More... | |
| struct | replace_type< Cr(*)(C0, C1), X, Y > |
| Descent through binary function types. More... | |
| struct | replace_type< Cr(*)(CArgs...), X, Y > |
| Decend through all aspects of pointers to functions. More... | |
| struct | replace_type_dispatch |
| Internal type used by replace_type. More... | |
| struct | replace_type_dispatch< C, X, Y, false > |
| Recurse into replace_type. More... | |
| struct | replace_type_dispatch< C, X, Y, true > |
| Replace leaf types. More... | |
Encapsulate solution for Exercise 2-1.