|
| template<typename F > |
| using | function_info = detail::function_info_impl< F > |
| | Returns a struct that contains the return type, argument types, and the class type if the F is a non-static member function. More...
|
| |
|
template<template< typename... > class U, typename T > |
| using | is_a_lambda = detail::wrapped_is_a< detail::is_a_wrapper< U >, T > |
| |
|
| template<typename T > |
| using | is_tensor_index_type_t = typename is_tensor_index_type< T >::type |
| |
|
| template<typename Array > |
| using | array_size = decltype(TypeTraits_detail::array_size_impl(std::declval< const Array & >())) |
| | Get the size of a std::array as a std::integral_constant. More...
|
| |
|
|
template<typename T > |
| using | get_fundamental_type_t = typename get_fundamental_type< T >::type |
| |
|
|
template<typename T > |
| using | remove_reference_wrapper_t = typename remove_reference_wrapper< T >::type |
| |
|
|
template<typename T > |
| using | remove_cvref_wrap_t = typename remove_cvref_wrap< T >::type |
| |
|
| template<typename T > |
| constexpr bool | is_complex_of_fundamental_v |
| |
| template<typename T > |
| constexpr bool | is_complex_or_fundamental_v |
| | Evaluates to true if type T is a std::complex of a fundamental type or if T is a fundamental type. More...
|
| |
|
|
template<typename T > |
| constexpr bool | can_be_copy_constructed_v = can_be_copy_constructed<T>::value |
| |
|
| template<typename T > |
| constexpr bool | is_integer_v = is_integer<T>::value |
| |
| template<typename ConformingType , typename Protocol > |
| using | conforms_to = typename std::is_convertible< ConformingType *, ConformsTo< Protocol > * > |
| | Checks if the ConformingType conforms to the Protocol. More...
|
| |
| template<typename ConformingType , typename Protocol > |
| constexpr bool | conforms_to_v |
| | Checks if the ConformingType conforms to the Protocol. More...
|
| |
| template<typename T > |
| using | has_equivalence_t = typename has_equivalence< T >::type |
| |
| template<typename T > |
| constexpr bool | has_equivalence_v = has_equivalence<T>::value |
| |
| template<typename T > |
| using | has_inequivalence_t = typename has_inequivalence< T >::type |
| |
| template<typename T > |
| constexpr bool | has_inequivalence_v = has_inequivalence<T>::value |
| |
| template<template< typename... > class U, typename... Args> |
| using | is_a_t = typename is_a< U, Args... >::type |
| |
| template<template< typename... > class U, typename... Args> |
| constexpr bool | is_a_v = is_a<U, Args...>::value |
| |
| template<typename T , typename... Args> |
| using | is_callable_t = typename is_callable< T, Args... >::type |
| |
| template<typename T , typename... Args> |
| constexpr bool | is_callable_v = is_callable<T, Args...>::value |
| |
| template<typename T > |
| using | is_iterable_t = typename is_iterable< T >::type |
| |
| template<typename T > |
| constexpr bool | is_iterable_v = is_iterable<T>::value |
| |
| template<typename T > |
| using | is_maplike_t = typename is_maplike< T >::type |
| |
| template<typename T > |
| constexpr bool | is_maplike_v = is_maplike<T>::value |
| |
| template<typename T > |
| using | is_std_array_t = typename is_std_array< T >::type |
| |
| template<typename T > |
| constexpr bool | is_std_array_v = is_std_array<T>::value |
| |
| template<size_t N, typename T > |
| using | is_std_array_of_size_t = typename is_std_array_of_size< N, T >::type |
| |
| template<size_t N, typename T > |
| constexpr bool | is_std_array_of_size_v = is_std_array_of_size<N, T>::value |
| |
| template<typename S , typename T > |
| using | is_streamable_t = typename is_streamable< S, T >::type |
| |
| template<typename S , typename T > |
| constexpr bool | is_streamable_v = is_streamable<S, T>::value |
| |
A collection of useful type traits.