- aggregate 1
- alias template 2
- apply<> 1
- back<> 1
- class template 2
- compile-time complexity 1
- decltype 1
- defer<> 2
- first<> 1
- fold expression 1
- front<> 1
- function parameter pack 1
- function template 1
- identity<> 2
- last<> 1
- metafunction 2
- multiple inheritance trick 1
- partial specialization 2
- pop_back<> 1
- pop_front<> 1
- primary template 2
- push_back<> 1
- push_front<> 1
- recursion 1
- reference collapse 1
- reverse<> 1
- slicing 1
- std::declval<>() 1
- std::index_sequence<> 1
- std::index_sequence_for<> 1
- std::make_index_sequence<> 1
- tail<> 1
- template argument deduction 1
- template parameter pack 2
- type alias 1
- type list 2
- typename disambiguator 1
- unevaluated operand 1
- user-provided function 1
- variadic class template 1
- variadic function template 1
- void* trick 1
aggregate
Fundamental operations on type lists (Part1)
One of the fundamental building blocks of template metaprogramming is type lists. Dealing with them used to be a hassle, but since C++11 they are pretty much built into the language through type template parameter packs…
alias template
Fundamental operations on type lists (Part2)
Among the simplest metafunctions are push_front<>
and push_back<>
, since they can be easily implemented by leveraging C++11’s parameter pack expansion…
Fundamental operations on type lists (Part1)
One of the fundamental building blocks of template metaprogramming is type lists. Dealing with them used to be a hassle, but since C++11 they are pretty much built into the language through type template parameter packs…
apply<>
Fundamental operations on type lists (Part1)
One of the fundamental building blocks of template metaprogramming is type lists. Dealing with them used to be a hassle, but since C++11 they are pretty much built into the language through type template parameter packs…
back<>
Fundamental operations on type lists (Part1)
One of the fundamental building blocks of template metaprogramming is type lists. Dealing with them used to be a hassle, but since C++11 they are pretty much built into the language through type template parameter packs…
class template
Fundamental operations on type lists (Part2)
Among the simplest metafunctions are push_front<>
and push_back<>
, since they can be easily implemented by leveraging C++11’s parameter pack expansion…
Fundamental operations on type lists (Part1)
One of the fundamental building blocks of template metaprogramming is type lists. Dealing with them used to be a hassle, but since C++11 they are pretty much built into the language through type template parameter packs…
compile-time complexity
Fundamental operations on type lists (Part1)
One of the fundamental building blocks of template metaprogramming is type lists. Dealing with them used to be a hassle, but since C++11 they are pretty much built into the language through type template parameter packs…
decltype
Fundamental operations on type lists (Part2)
Among the simplest metafunctions are push_front<>
and push_back<>
, since they can be easily implemented by leveraging C++11’s parameter pack expansion…
defer<>
Fundamental operations on type lists (Part2)
Among the simplest metafunctions are push_front<>
and push_back<>
, since they can be easily implemented by leveraging C++11’s parameter pack expansion…
Fundamental operations on type lists (Part1)
One of the fundamental building blocks of template metaprogramming is type lists. Dealing with them used to be a hassle, but since C++11 they are pretty much built into the language through type template parameter packs…
first<>
Fundamental operations on type lists (Part1)
One of the fundamental building blocks of template metaprogramming is type lists. Dealing with them used to be a hassle, but since C++11 they are pretty much built into the language through type template parameter packs…
fold expression
Fundamental operations on type lists (Part1)
One of the fundamental building blocks of template metaprogramming is type lists. Dealing with them used to be a hassle, but since C++11 they are pretty much built into the language through type template parameter packs…
front<>
Fundamental operations on type lists (Part1)
One of the fundamental building blocks of template metaprogramming is type lists. Dealing with them used to be a hassle, but since C++11 they are pretty much built into the language through type template parameter packs…
function parameter pack
Fundamental operations on type lists (Part2)
Among the simplest metafunctions are push_front<>
and push_back<>
, since they can be easily implemented by leveraging C++11’s parameter pack expansion…
function template
Fundamental operations on type lists (Part2)
Among the simplest metafunctions are push_front<>
and push_back<>
, since they can be easily implemented by leveraging C++11’s parameter pack expansion…
identity<>
Fundamental operations on type lists (Part2)
Among the simplest metafunctions are push_front<>
and push_back<>
, since they can be easily implemented by leveraging C++11’s parameter pack expansion…
Fundamental operations on type lists (Part1)
One of the fundamental building blocks of template metaprogramming is type lists. Dealing with them used to be a hassle, but since C++11 they are pretty much built into the language through type template parameter packs…
last<>
Fundamental operations on type lists (Part1)
One of the fundamental building blocks of template metaprogramming is type lists. Dealing with them used to be a hassle, but since C++11 they are pretty much built into the language through type template parameter packs…
metafunction
Fundamental operations on type lists (Part2)
Among the simplest metafunctions are push_front<>
and push_back<>
, since they can be easily implemented by leveraging C++11’s parameter pack expansion…
Fundamental operations on type lists (Part1)
One of the fundamental building blocks of template metaprogramming is type lists. Dealing with them used to be a hassle, but since C++11 they are pretty much built into the language through type template parameter packs…
multiple inheritance trick
Fundamental operations on type lists (Part2)
Among the simplest metafunctions are push_front<>
and push_back<>
, since they can be easily implemented by leveraging C++11’s parameter pack expansion…
partial specialization
Fundamental operations on type lists (Part2)
Among the simplest metafunctions are push_front<>
and push_back<>
, since they can be easily implemented by leveraging C++11’s parameter pack expansion…
Fundamental operations on type lists (Part1)
One of the fundamental building blocks of template metaprogramming is type lists. Dealing with them used to be a hassle, but since C++11 they are pretty much built into the language through type template parameter packs…
pop_back<>
Fundamental operations on type lists (Part2)
Among the simplest metafunctions are push_front<>
and push_back<>
, since they can be easily implemented by leveraging C++11’s parameter pack expansion…
pop_front<>
Fundamental operations on type lists (Part2)
Among the simplest metafunctions are push_front<>
and push_back<>
, since they can be easily implemented by leveraging C++11’s parameter pack expansion…
primary template
Fundamental operations on type lists (Part2)
Among the simplest metafunctions are push_front<>
and push_back<>
, since they can be easily implemented by leveraging C++11’s parameter pack expansion…
Fundamental operations on type lists (Part1)
One of the fundamental building blocks of template metaprogramming is type lists. Dealing with them used to be a hassle, but since C++11 they are pretty much built into the language through type template parameter packs…
push_back<>
Fundamental operations on type lists (Part2)
Among the simplest metafunctions are push_front<>
and push_back<>
, since they can be easily implemented by leveraging C++11’s parameter pack expansion…
push_front<>
Fundamental operations on type lists (Part2)
Among the simplest metafunctions are push_front<>
and push_back<>
, since they can be easily implemented by leveraging C++11’s parameter pack expansion…
recursion
Fundamental operations on type lists (Part2)
Among the simplest metafunctions are push_front<>
and push_back<>
, since they can be easily implemented by leveraging C++11’s parameter pack expansion…
reference collapse
Fundamental operations on type lists (Part2)
Among the simplest metafunctions are push_front<>
and push_back<>
, since they can be easily implemented by leveraging C++11’s parameter pack expansion…
reverse<>
Fundamental operations on type lists (Part2)
Among the simplest metafunctions are push_front<>
and push_back<>
, since they can be easily implemented by leveraging C++11’s parameter pack expansion…
slicing
Fundamental operations on type lists (Part2)
Among the simplest metafunctions are push_front<>
and push_back<>
, since they can be easily implemented by leveraging C++11’s parameter pack expansion…
std::declval<>()
Fundamental operations on type lists (Part2)
Among the simplest metafunctions are push_front<>
and push_back<>
, since they can be easily implemented by leveraging C++11’s parameter pack expansion…
std::index_sequence<>
Fundamental operations on type lists (Part2)
Among the simplest metafunctions are push_front<>
and push_back<>
, since they can be easily implemented by leveraging C++11’s parameter pack expansion…
std::index_sequence_for<>
Fundamental operations on type lists (Part2)
Among the simplest metafunctions are push_front<>
and push_back<>
, since they can be easily implemented by leveraging C++11’s parameter pack expansion…
std::make_index_sequence<>
Fundamental operations on type lists (Part2)
Among the simplest metafunctions are push_front<>
and push_back<>
, since they can be easily implemented by leveraging C++11’s parameter pack expansion…
tail<>
Fundamental operations on type lists (Part2)
Among the simplest metafunctions are push_front<>
and push_back<>
, since they can be easily implemented by leveraging C++11’s parameter pack expansion…
template argument deduction
Fundamental operations on type lists (Part2)
Among the simplest metafunctions are push_front<>
and push_back<>
, since they can be easily implemented by leveraging C++11’s parameter pack expansion…
template parameter pack
Fundamental operations on type lists (Part2)
Among the simplest metafunctions are push_front<>
and push_back<>
, since they can be easily implemented by leveraging C++11’s parameter pack expansion…
Fundamental operations on type lists (Part1)
One of the fundamental building blocks of template metaprogramming is type lists. Dealing with them used to be a hassle, but since C++11 they are pretty much built into the language through type template parameter packs…
type alias
Fundamental operations on type lists (Part1)
One of the fundamental building blocks of template metaprogramming is type lists. Dealing with them used to be a hassle, but since C++11 they are pretty much built into the language through type template parameter packs…
type list
Fundamental operations on type lists (Part2)
Among the simplest metafunctions are push_front<>
and push_back<>
, since they can be easily implemented by leveraging C++11’s parameter pack expansion…
Fundamental operations on type lists (Part1)
One of the fundamental building blocks of template metaprogramming is type lists. Dealing with them used to be a hassle, but since C++11 they are pretty much built into the language through type template parameter packs…
typename disambiguator
Fundamental operations on type lists (Part1)
One of the fundamental building blocks of template metaprogramming is type lists. Dealing with them used to be a hassle, but since C++11 they are pretty much built into the language through type template parameter packs…
unevaluated operand
Fundamental operations on type lists (Part2)
Among the simplest metafunctions are push_front<>
and push_back<>
, since they can be easily implemented by leveraging C++11’s parameter pack expansion…
user-provided function
Fundamental operations on type lists (Part1)
One of the fundamental building blocks of template metaprogramming is type lists. Dealing with them used to be a hassle, but since C++11 they are pretty much built into the language through type template parameter packs…
variadic class template
Fundamental operations on type lists (Part1)
One of the fundamental building blocks of template metaprogramming is type lists. Dealing with them used to be a hassle, but since C++11 they are pretty much built into the language through type template parameter packs…
variadic function template
Fundamental operations on type lists (Part2)
Among the simplest metafunctions are push_front<>
and push_back<>
, since they can be easily implemented by leveraging C++11’s parameter pack expansion…
void* trick
Fundamental operations on type lists (Part2)
Among the simplest metafunctions are push_front<>
and push_back<>
, since they can be easily implemented by leveraging C++11’s parameter pack expansion…