|
template<typename... Args> |
using | gears::meta::EnableIf = Type< std::enable_if< All< Args...>::value, alias_detail::enabler >> |
| Template alias for std::enable_if More...
|
|
template<typename... Args> |
using | gears::meta::DisableIf = Type< std::enable_if< meta::Not< All< Args...>>::value, alias_detail::enabler >> |
| The negation of EnableIf .
|
|
template<typename T > |
using | gears::meta::Decay = Type< std::decay< T >> |
| Template alias for std::decay .
|
|
template<typename T > |
using | gears::meta::RemoveRef = Type< std::remove_reference< T >> |
| Template alias for std::remove_reference .
|
|
template<typename T > |
using | gears::meta::RemoveCV = Type< std::remove_cv< T >> |
| Template alias for std::remove_cv .
|
|
template<typename T > |
using | gears::meta::RemoveConst = Type< std::remove_const< T >> |
| Template alias for std::remove_const .
|
|
template<typename T > |
using | gears::meta::RemoveVolatile = Type< std::remove_volatile< T >> |
| Template alias for std::remove_volatile .
|
|
template<typename T > |
using | gears::meta::RemoveExtents = Type< std::remove_all_extents< T >> |
| Template alias for std::remove_all_extents .
|
|
template<typename T > |
using | gears::meta::RemovePointer = Type< std::remove_pointer< T >> |
| Template alias for std::remove_pointer .
|
|
template<typename T > |
using | gears::meta::AddLValueRef = Type< std::add_lvalue_reference< T >> |
| Template alias for std::add_lvalue_reference .
|
|
template<typename T > |
using | gears::meta::AddRValueRef = Type< std::add_rvalue_reference< T >> |
| Template alias for std::add_rvalue_reference .
|
|
template<typename T > |
using | gears::meta::AddCV = Type< std::add_cv< T >> |
| Template alias for std::add_cv .
|
|
template<typename T > |
using | gears::meta::AddConst = Type< std::add_const< T >> |
| Template alias for std::add_const .
|
|
template<typename T > |
using | gears::meta::AddVolatile = Type< std::add_volatile< T >> |
| Template alias for std::add_volatile .
|
|
template<typename T > |
using | gears::meta::AddPointer = Type< std::add_pointer< T >> |
| Template alias for std::add_pointer .
|
|
template<typename T > |
using | gears::meta::MakeSigned = Type< std::make_signed< T >> |
| Template alias for std::make_signed .
|
|
template<typename T > |
using | gears::meta::MakeUnsigned = Type< std::make_unsigned< T >> |
| Template alias for std::make_unsigned .
|
|
template<typename T > |
using | gears::meta::Unqualified = RemoveCV< RemoveRef< T >> |
| Template alias that removes all cv and ref qualifiers.
|
|
template<typename T > |
using | gears::meta::ValueType = typename Unqualified< T >::value_type |
| Template alias to check for T::value_type .
|
|
template<typename T > |
using | gears::meta::StorageFor = Type< std::aligned_storage< sizeof(T), std::alignment_of< T >::value >> |
| Template alias for std::aligned_storage with proper alignment.
|
|
template<typename T > |
using | gears::meta::Type = typename T::type |
| Template alias for getting the type.
|
|
template<typename... Args> |
using | gears::meta::CommonType = Type< std::common_type< Args...>> |
| Template alias for std::common_type .
|
|
template<typename T > |
using | gears::meta::UnderlyingType = Type< std::underlying_type< T >> |
| Template alias for std::underlying_type .
|
|
template<typename T , T t> |
using | gears::meta::Const = std::integral_constant< T, t > |
| Template alias for std::integral_constant .
|
|
template<int i> |
using | gears::meta::Integer = Const< int, i > |
| Template alias for integer std::integral_constant .
|
|
template<typename... T> |
using | gears::meta::Void = Type< void_< T...>> |
| Template alias for void meta function.
|
|
template<bool B> |
using | gears::meta::Bool = Const< bool, B > |
| Template alias for std::integral_constant<bool, B> .
|
|
template<typename Condition , typename Then , typename Else > |
using | gears::meta::If = Type< std::conditional< Condition::value, Then, Else >> |
| Template alias for std::conditional . More...
|
|
template<typename Condition , typename Then , typename Else > |
using | gears::meta::TypeIf = Type< If< Condition, Then, Else >> |
| Lazy evaluation of If
|
|
template<typename Signature > |
using | gears::meta::ResultOf = Type< result_of_impl< Signature >> |
| SFINAE-safe std::result_of alternative.
|
|
template<typename T > |
using | gears::meta::ClassOf = Type< class_of< T >> |
| Template alias for class_of meta function.
|
|
This module provides metafunctions and other meta utilities that aid with template metaprogramming such as typedefs that help reduce the verbosity of working with templates.