|
C++ Template Metaprogramming
Solutions to the exercises throughout the book
|
Define a metafunction to replace types. More...
Files | |
| file | c++20/exercise-2-1.hpp |
| Solution to Exercise 2-1 (C++20). | |
| file | exercise-2-1.hpp |
| Solution to Exercise 2-1. | |
Namespaces | |
| namespace | exercise_2_1 |
| Encapsulate solution for Exercise 2-1. | |
| namespace | exercise_2_1::cpp20 |
| Encapsulate solution for Exercise 2-1 (C++20). | |
Functions | |
| static void | anonymous_namespace{chapter-2.cpp}::test_exercise_2_1 () |
| Tests for Exercise 2-1. | |
Define a metafunction to replace types.
2-1. Write a ternary metafunction replace_type<c,x,y> that takes an arbitrary
compound type c as its first parameter, and replaces all occurrences of
a type x within c with y:
typedef replace_type<void*,void, int>::type t1; // int*
typedef replace_type<
int const*[10]
, int const
, long
>::type t2; // long*[10]
typedef replace_type<
char& (*)(char&)
, char&
, long&
>::type t3; // long& (*)(long&)
|
static |
Tests for Exercise 2-1.
Definition at line 92 of file chapter-2.cpp.