|
halcheck 1.0
|
Metaprogramming utilities. More...
Macros | |
| #define | HALCHECK_REQUIRE(...) |
Expands to a template argument that is only valid if the given argument evaluates to true. | |
| #define | HALCHECK_REQUIRE_(...) |
| A version of HALCHECK_REQUIRE usable in forward and friend declarations. | |
Typedefs | |
| template<typename... > | |
| using | halcheck::lib::void_t = void |
| An implementation of std::void_t. | |
| template<bool Cond, typename T , typename F > | |
| using | halcheck::lib::conditional_t = typename std::conditional<Cond, T, F>::type |
| An implementation of std::conditional_t. | |
| template<bool Cond, typename T = void> | |
| using | halcheck::lib::enable_if_t = typename std::enable_if<Cond, T>::type |
| An implementation of std::enable_if_t. | |
| template<typename T > | |
| using | halcheck::lib::decay_t = typename std::decay<T>::type |
| An implementation of std::decay_t. | |
| template<typename T > | |
| using | halcheck::lib::remove_cv_t = typename std::remove_cv<T>::type |
| An implementation of std::remove_cv_t. | |
| template<typename T > | |
| using | halcheck::lib::remove_extent_t = typename std::remove_extent<T>::type |
| An implementation of std::remove_extent_t. | |
| template<typename T > | |
| using | halcheck::lib::make_unsigned_t = typename std::make_unsigned<T>::type |
| An implementation of std::make_unsigned_t. | |
| template<typename... Args> | |
| using | halcheck::lib::common_type_t = typename std::common_type<Args...>::type |
| An implementation of std::common_type_t. | |
| template<typename T > | |
| using | halcheck::lib::remove_cvref_t = typename std::remove_cv<typename std::remove_reference<T>::type>::type |
| An implementation of std::remove_cvref_t. | |
| template<typename T , typename... > | |
| using | halcheck::lib::type_identity_t = T |
| An implementation of std::type_identity_t. | |
| template<std::size_t I, typename T > | |
| using | halcheck::lib::tuple_element_t = typename std::tuple_element<I, T>::type |
| Provides compile-time access the the types of the elements of a tuple. | |
| template<typename T > | |
| using | halcheck::lib::remove_reference_t = typename std::remove_reference<T>::type |
| An implementation of std::remove_reference_t. | |
| template<typename T > | |
| using | halcheck::lib::remove_const_t = typename std::remove_const<T>::type |
| An implementation of std::remove_const_t. | |
| template<typename T > | |
| using | halcheck::lib::make_signed_t = typename std::make_signed<T>::type |
| An implementation of std::make_signed_t. | |
| template<typename T > | |
| using | halcheck::lib::add_lvalue_reference_t = typename std::add_lvalue_reference<T>::type |
| An implementation of std::add_lvalue_reference_t. | |
| template<typename T > | |
| using | halcheck::lib::add_rvalue_reference_t = typename std::add_rvalue_reference<T>::type |
| An implementation of std::add_rvalue_reference_t. | |
| template<typename T > | |
| using | halcheck::lib::add_const_t = typename std::add_const<T>::type |
| An implementation of std::add_const_t. | |
| template<typename T > | |
| using | halcheck::lib::add_pointer_t = typename std::add_pointer<T>::type |
| An implementation of std::add_pointer_t. | |
| template<typename T > | |
| using | halcheck::lib::remove_pointer_t = typename std::remove_pointer<T>::type |
| An implementation of std::remove_pointer_t. | |
Metaprogramming utilities.