Template meta-programming helpers. More...
Classes | |
struct | AddPointer |
AddPointer adds a pointer qualification to a type T if it is not already a pointer. More... | |
struct | Conditional |
Conditional defines a type to be T if a boolean value is true , F otherwise. More... | |
struct | Conditional< false, T, F > |
struct | EnableIf |
EnableIf conditionally defines a type if a boolean template parameter is true. More... | |
struct | EnableIf< true, T > |
struct | IsConst |
IsConst evaluates to true if the provided type T is const , false otherwise. More... | |
struct | IsConst< const T > |
struct | IsLValueReference |
Determines if a type is an lvalue reference. More... | |
struct | IsLValueReference< T & > |
struct | IsRValueReference |
Determines if a type is an rvalue reference. More... | |
struct | IsRValueReference< T && > |
struct | IsSame |
IsSame evaluates to true if the provided types T and U are the same, false otherwise. More... | |
struct | IsSame< T, T > |
struct | IsTriviallyCopyable |
IsTriviallyCopyable evaluates to true if the type T can be trivially copied, false otherwise. More... | |
struct | RemoveConst |
RemoveConst removes the const qualification from a type T . More... | |
struct | RemoveConst< const T > |
struct | RemovePointer |
RemovePointer removes the pointer qualification from a type T . More... | |
struct | RemovePointer< T * > |
struct | RemovePointer< T ** > |
struct | RemoveReference |
Removes reference from a type T. More... | |
struct | RemoveReference< T & > |
struct | RemoveReference< T && > |
struct | SameConstnessAs |
SameConstnessAs modifies type T to have the const-qualification of U . More... | |
struct | TypeList |
Represents a variadic template type list. More... | |
struct | TypeListGet |
Retrieves the type at the specified index in the TypeList. More... | |
struct | TypeListGet< TypeList< T, TT... >, N, M > |
Specialization of TypeListGet that retrieves the type at the given index. | |
struct | TypeListGet< TypeList<>, N, 0 > |
Empty TypeListGet specialization with an index. | |
struct | TypeListGet< TypeList<>, N, M > |
Specialization of TypeListGet for an empty TypeList. | |
Typedefs | |
template<bool B, class T , class F > | |
using | ConditionalT = typename Conditional<B,T,F>::type |
ConditionalT is an alias template that resolves to type T if a boolean value is true , otherwise to type F . | |
template<typename T , int N> | |
using | TypeListGetT = typename TypeListGet<T, N>::type |
Alias template to simplify accessing the retrieved type using TypeListGet. | |
Template meta-programming helpers.