|
| 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.