C++ Template Metaprogramming
Solutions to the exercises throughout the book
Loading...
Searching...
No Matches
Class Index
A | B | C | D | E | F | I | L | M | N | P | Q | R | S | T | U | Z
A
add_const_ref (exercise_2_0::no_boost)
add_const_ref (exercise_2_0::with_boost)
add_const_ref (exercise_2_0)
add_const_ref< T & > (exercise_2_0::no_boost)
add_const_ref< T const > (exercise_2_0::no_boost)
add_const_ref_impl (exercise_2_0::no_boost)
add_const_ref_impl< T, true > (exercise_2_0::no_boost)
advance< chapter5::tiny_iterator< Tiny, Pos >, N > (boost::mpl)
advance< chapter7::zip_iterator< IteratorSeq, random_access_iterator_tag >, N > (boost::mpl)
end_impl< exercise_5_7::dimensions_b_tag >::apply (boost::mpl)
pop_front_impl< chapter5::tiny_tag >::apply (boost::mpl)
end_impl< exercise_6_1::binary_tag >::apply (boost::mpl)
erase_impl< chapter5::tiny_tag >::apply (boost::mpl)
insert_impl< chapter5::tiny_tag >::apply (boost::mpl)
pop_back_impl< chapter5::tiny_tag >::apply (boost::mpl)
pop_back_impl< exercise_5_7::dimensions_b_tag >::apply (boost::mpl)
push_back_impl< chapter5::tiny_tag >::apply (boost::mpl)
push_back_impl< chapter5::tree_tag >::apply (boost::mpl)
push_back_impl< exercise_5_7::dimensions_b_tag >::apply (boost::mpl)
push_front_impl< chapter5::tiny_tag >::apply (boost::mpl)
size_impl< chapter5::tiny_tag >::apply (boost::mpl)
ex_3_1apply::apply (exercise_3_1)
twice_lambda::apply (exercise_3_6)
begin_impl< exercise_5_6::dimensions_tag >::apply (boost::mpl)
end_impl< exercise_5_6::dimensions_tag >::apply (boost::mpl)
at_impl< chapter5::tiny_tag >::apply (boost::mpl)
at_impl< chapter7::zip_view_tag >::apply (boost::mpl)
begin_impl< chapter5::tiny_tag >::apply (boost::mpl)
begin_impl< chapter7::permutation_view_tag >::apply (boost::mpl)
begin_impl< exercise_5_10::inorder_view_tag >::apply (boost::mpl)
begin_impl< exercise_5_7::dimensions_b_tag >::apply (boost::mpl)
begin_impl< exercise_5_8::fibonacci_series_tag >::apply (boost::mpl)
begin_impl< exercise_6_1::binary_tag >::apply (boost::mpl)
clear_impl< chapter5::tiny_tag >::apply (boost::mpl)
end_impl< chapter5::tiny_tag >::apply (boost::mpl)
end_impl< chapter5::tree_tag >::apply (boost::mpl)
end_impl< chapter7::permutation_view_tag >::apply (boost::mpl)
end_impl< exercise_5_10::inorder_view_tag >::apply (boost::mpl)
push_back_impl< chapter5::tree_tag >::apply< chapter5::tree< Cur, L, R >, New > (boost::mpl)
push_back_impl< chapter5::tree_tag >::apply< chapter5::tree<>, New > (boost::mpl)
begin_impl< chapter7::permutation_view_tag >::apply< chapter7::permutation_view< Indices, Sequence > > (boost::mpl)
at_impl< chapter7::zip_view_tag >::apply< chapter7::zip_view< S >, N > (boost::mpl)
pop_back_impl< exercise_5_7::dimensions_b_tag >::apply< exercise_5_7::dimensions_b< T[N]> > (boost::mpl)
begin_impl< exercise_6_1::binary_tag >::apply< exercise_6_1::binary< N > > (boost::mpl)
end_impl< exercise_6_1::binary_tag >::apply< exercise_6_1::binary< N > > (boost::mpl)
erase_impl< chapter5::tiny_tag >::apply< S, chapter5::tiny_iterator< S, First >, chapter5::tiny_iterator< S, Last > > (boost::mpl)
erase_impl< chapter5::tiny_tag >::apply< S, First, mpl_::na > (boost::mpl)
insert_impl< chapter5::tiny_tag >::apply< Tiny, chapter5::tiny_iterator< Tiny, Pos >, T > (boost::mpl)
push_back_impl< chapter5::tree_tag >::apply< void_, New > (boost::mpl)
binary::apply_binary_digit (exercise_6_1)
binary::apply_binary_digit< T1, binary< N2 > > (exercise_6_1)
at_impl< chapter7::zip_view_tag >::apply_impl (boost::mpl)
at_impl< chapter7::zip_view_tag >::apply_impl< S, random_access_iterator_tag, N > (boost::mpl)
push_back_impl< exercise_5_7::dimensions_b_tag >::apply_num (boost::mpl)
push_back_impl< exercise_5_7::dimensions_b_tag >::apply_num< exercise_5_7::dimensions_b< T >, N > (boost::mpl)
begin_impl< exercise_5_10::inorder_view_tag >::apply_on_iterator (boost::mpl)
begin_impl< exercise_5_10::inorder_view_tag >::apply_on_iterator< chapter5::tree< Cur, L, R >, Parent > (boost::mpl)
begin_impl< exercise_5_10::inorder_view_tag >::apply_on_iterator< chapter5::tree<>, Parent > (boost::mpl)
at_impl< chapter5::tiny_tag > (boost::mpl)
at_impl< chapter7::zip_view_tag > (boost::mpl)
B
begin_impl< chapter5::tiny_tag > (boost::mpl)
begin_impl< chapter7::permutation_view_tag > (boost::mpl)
begin_impl< exercise_5_10::inorder_view_tag > (boost::mpl)
begin_impl< exercise_5_6::dimensions_tag > (boost::mpl)
begin_impl< exercise_5_7::dimensions_b_tag > (boost::mpl)
begin_impl< exercise_5_8::fibonacci_series_tag > (boost::mpl)
begin_impl< exercise_6_1::binary_tag > (boost::mpl)
begin_impl_traversal (exercise_5_7)
begin_impl_traversal< S, boost::mpl::void_ > (exercise_5_7)
binary (chapter1)
binary (exercise_6_1)
binary< 0 > (chapter1)
binary_tag (exercise_6_1)
binary_tree_inserter (exercise_6_3)
binary_tree_search (exercise_6_4)
binary_tree_search< boost::mpl::void_, Elem > (exercise_6_4)
binary_tree_search< chapter5::tree< Cur, L, R >, Elem > (exercise_6_4)
C
checked_binary (exercise_3_0)
checked_binary< 0 > (exercise_3_0)
clear_impl< chapter5::tiny_tag > (boost::mpl)
D
deref< chapter5::tiny_iterator< Tiny, Pos > > (boost::mpl)
deref< chapter7::permutation_iterator< CurIdxIter, SeqBegin > > (boost::mpl)
deref< exercise_5_10::inorder_view_iterator< chapter5::tree< Cur, L, R >, Parent, VisitCount > > (boost::mpl)
deref< exercise_5_10::inorder_view_iterator< Cur, Parent, VisitCount > > (boost::mpl)
deref< exercise_5_6::dimensions_iterator< S > > (boost::mpl)
deref< exercise_5_7::dimensions_b_iterator< S > > (boost::mpl)
deref< exercise_5_8::fibonacci_series_iterator< N, LastN > > (boost::mpl)
deref< exercise_6_1::binary< N > > (boost::mpl)
deref< exercise_7_7::reverse_iterator< ForwardIt > > (boost::mpl)
dimensions (exercise_5_6)
dimensions< T[N]> (exercise_5_6)
dimensions_b (exercise_5_7)
dimensions_b_impl (exercise_5_7)
dimensions_b_impl< T[N], Next > (exercise_5_7)
dimensions_b_iterator (exercise_5_7)
dimensions_b_tag (exercise_5_7)
dimensions_iterator (exercise_5_6)
dimensions_tag (exercise_5_6)
distance< chapter5::tiny_iterator< Tiny, Pos1 >, chapter5::tiny_iterator< Tiny, Pos2 > > (boost::mpl)
divide_dimensions (exercise_3_5::section_3_1)
double_first_half (exercise_5_1)
double_first_half_impl (exercise_5_1)
E
end_impl< chapter5::tiny_tag > (boost::mpl)
end_impl< chapter5::tree_tag > (boost::mpl)
end_impl< chapter7::permutation_view_tag > (boost::mpl)
end_impl< exercise_5_10::inorder_view_tag > (boost::mpl)
end_impl< exercise_5_6::dimensions_tag > (boost::mpl)
end_impl< exercise_5_7::dimensions_b_tag > (boost::mpl)
end_impl< exercise_6_1::binary_tag > (boost::mpl)
erase_impl< chapter5::tiny_tag > (boost::mpl)
ex_3_1 (exercise_3_1)
ex_3_1apply (exercise_3_1)
ex_3_1b (exercise_3_1)
ex_3_2 (exercise_3_2)
extract_iterator_category (chapter7)
F
fibonacci_series (exercise_5_8)
fibonacci_series_iterator (exercise_5_8)
fibonacci_series_tag (exercise_5_8)
find_smaller (exercise_6_0)
find_smaller< no_type, T2 > (exercise_6_0)
formula (exercise_4_3)
I
inorder_view (exercise_5_10)
inorder_view_iterator (exercise_5_10)
inorder_view_tag (exercise_5_10)
insert_impl< chapter5::tiny_tag > (boost::mpl)
is_data_member_pointer (exercise_4_4)
is_pointer_to_function (exercise_4_4)
is_reference_to_function_pointer (exercise_4_4)
is_reference_to_non_const (exercise_4_4)
is_valid_reverse_category (exercise_7_7)
L
least_refined_iterator_category (chapter7)
logical_and (exercise_4_1)
logical_and< boost::mpl::false_, E2 > (exercise_4_1)
logical_and< boost::mpl::true_, E2 > (exercise_4_1)
logical_or (exercise_4_1)
logical_or5 (exercise_4_2)
logical_or5< boost::mpl::false_, boost::mpl::false_, boost::mpl::false_, boost::mpl::false_, E5 > (exercise_4_2)
logical_or5< boost::mpl::false_, E2, E3, E4, E5 > (exercise_4_2)
logical_or5< boost::mpl::true_, E2, E3, E4, E5 > (exercise_4_2)
logical_or< boost::mpl::false_, E2 > (exercise_4_1)
logical_or< boost::mpl::true_, E2 > (exercise_4_1)
M
multiply_dimensions (exercise_3_5::section_3_1)
N
next< chapter5::tiny_iterator< Tiny, Pos > > (boost::mpl)
next< chapter7::permutation_iterator< CurIdxIter, SeqBegin > > (boost::mpl)
next< chapter7::zip_iterator< IteratorSeq, Category > > (boost::mpl)
next< exercise_5_10::inorder_view_iterator< chapter5::tree< Cur, L, R >, Parent, 0 > > (boost::mpl)
next< exercise_5_10::inorder_view_iterator< chapter5::tree< Cur, L, R >, Parent, 1 > > (boost::mpl)
next< exercise_5_10::inorder_view_iterator< chapter5::tree< Cur, L, R >, Parent, 2 > > (boost::mpl)
next< exercise_5_10::inorder_view_iterator< chapter5::tree< Cur, L, R >, Parent, 3 > > (boost::mpl)
next< exercise_5_10::inorder_view_iterator< chapter5::tree< Cur, L, R >, Parent, VisitCount > > (boost::mpl)
next< exercise_5_10::inorder_view_iterator< chapter5::tree< Cur, L, void_ >, Parent, 2 > > (boost::mpl)
next< exercise_5_10::inorder_view_iterator< chapter5::tree< Cur, void_, R >, Parent, 0 > > (boost::mpl)
next< exercise_5_10::inorder_view_iterator< Cur, Parent, 0 > > (boost::mpl)
next< exercise_5_10::inorder_view_iterator< Cur, Parent, VisitCount > > (boost::mpl)
next< exercise_5_6::dimensions_iterator< S > > (boost::mpl)
next< exercise_5_7::dimensions_b_iterator< S > > (boost::mpl)
next< exercise_5_8::fibonacci_series_iterator< 1134903170, 701408733 > > (boost::mpl)
next< exercise_5_8::fibonacci_series_iterator< N, LastN > > (boost::mpl)
next< exercise_6_1::binary< N > > (boost::mpl)
next< exercise_7_7::reverse_iterator< ForwardIt > > (boost::mpl)
next_if (exercise_4_3)
no_type (exercise_6_0)
none (chapter5)
P
permutation_iterator (chapter7)
permutation_view (chapter7)
permutation_view_tag (chapter7)
pop_back_impl< chapter5::tiny_tag > (boost::mpl)
pop_back_impl< exercise_5_7::dimensions_b_tag > (boost::mpl)
pop_front_impl< chapter5::tiny_tag > (boost::mpl)
prior< chapter5::tiny_iterator< Tiny, Pos > > (boost::mpl)
prior< chapter7::permutation_iterator< CurIdxIter, SeqBegin > > (boost::mpl)
prior< chapter7::zip_iterator< IteratorSeq, Category > > (boost::mpl)
prior< exercise_5_7::dimensions_b_iterator< S > > (boost::mpl)
prior< exercise_5_8::fibonacci_series_iterator< 0, 1 > > (boost::mpl)
prior< exercise_5_8::fibonacci_series_iterator< 1, 1 > > (boost::mpl)
prior< exercise_5_8::fibonacci_series_iterator< N, LastN > > (boost::mpl)
prior< exercise_7_7::reverse_iterator< ForwardIt > > (boost::mpl)
push_back_impl< chapter5::tiny_tag > (boost::mpl)
push_back_impl< chapter5::tree_tag > (boost::mpl)
push_back_impl< exercise_5_7::dimensions_b_tag > (boost::mpl)
push_front_impl< chapter5::tiny_tag > (boost::mpl)
Q
quantity (exercise_3_5::section_3_1)
R
rbegin (boost::mpl)
rend (boost::mpl)
replace_type (exercise_2_1::cpp20)
replace_type (exercise_2_1)
replace_type< C &, X, Y > (exercise_2_1::cpp20)
replace_type< C &, X, Y > (exercise_2_1)
replace_type< C *, X, Y > (exercise_2_1::cpp20)
replace_type< C *, X, Y > (exercise_2_1)
replace_type< C[N], X, Y > (exercise_2_1::cpp20)
replace_type< C[N], X, Y > (exercise_2_1)
replace_type< Cr(*)(), X, Y > (exercise_2_1)
replace_type< Cr(*)(C0), X, Y > (exercise_2_1)
replace_type< Cr(*)(C0, C1), X, Y > (exercise_2_1)
replace_type< Cr(*)(CArgs...), X, Y > (exercise_2_1::cpp20)
replace_type< Cr(*)(CArgs...), X, Y > (exercise_2_1)
replace_type_dispatch (exercise_2_1::cpp20)
replace_type_dispatch (exercise_2_1)
replace_type_dispatch< C, X, Y, false > (exercise_2_1::cpp20)
replace_type_dispatch< C, X, Y, false > (exercise_2_1)
replace_type_dispatch< C, X, Y, true > (exercise_2_1::cpp20)
replace_type_dispatch< C, X, Y, true > (exercise_2_1)
replace_with_smaller (exercise_6_0)
reverse_iterator (exercise_7_7)
rotate_view (exercise_7_3)
S
size_impl< chapter5::tiny_tag > (boost::mpl)
smallest (exercise_6_0)
T
test_class (test_4_4)
test_result (anonymous_namespace{chapter-1.cpp})
TestA (anonymous_namespace{chapter-2.cpp})
TestB (anonymous_namespace{chapter-2.cpp})
tiny (chapter5)
tiny_at (chapter5)
tiny_at< Tiny, 0 > (chapter5)
tiny_at< Tiny, 1 > (chapter5)
tiny_at< Tiny, 2 > (chapter5)
tiny_erase (chapter5)
tiny_erase< S, 0, 1 > (chapter5)
tiny_erase< S, 0, 2 > (chapter5)
tiny_erase< S, 0, 3 > (chapter5)
tiny_erase< S, 1, 2 > (chapter5)
tiny_erase< S, 1, 3 > (chapter5)
tiny_erase< S, 2, 3 > (chapter5)
tiny_insert (chapter5)
tiny_insert< Tiny, T, 0 > (chapter5)
tiny_insert< Tiny, T, 1 > (chapter5)
tiny_insert< Tiny, T, 2 > (chapter5)
tiny_iterator (chapter5)
tiny_push_back (chapter5)
tiny_push_back< Tiny, T, 0 > (chapter5)
tiny_push_back< Tiny, T, 1 > (chapter5)
tiny_push_back< Tiny, T, 2 > (chapter5)
tiny_size (chapter5)
tiny_size< none, none, none > (chapter5)
tiny_size< T0, none, none > (chapter5)
tiny_size< T0, T1, none > (chapter5)
tiny_tag (chapter5)
tree (chapter5)
tree_end (exercise_6_4)
tree_tag (chapter5)
twice (chapter3)
twice_lambda (exercise_3_6)
type_descriptor (exercise_2_3)
type_descriptor (exercise_2_4::cpp20)
type_descriptor (exercise_2_4)
type_descriptor_eng (exercise_2_5::cpp20)
type_descriptor_eng (exercise_2_5)
U
undefined_false (chapter4)
undefined_false< true > (chapter4)
undefined_true (chapter4)
undefined_true< false > (chapter4)
Z
zip_iterator (chapter7)
zip_view (chapter7)
zip_view_tag (chapter7)