Provides additional type trait utilities.
More...
|
| template<typename... Ts> |
| using | nnl::utl::trait::void_t = typename make_void<Ts...>::type |
| | A type trait similar to std::void_t that allows for discarding overloads using SFINAE.
|
Provides additional type trait utilities.
◆ void_t
A type trait similar to std::void_t that allows for discarding overloads using SFINAE.
◆ has_data_member_v
template<typename T>
| bool nnl::utl::trait::has_data_member_v = has_data_member<T>::value |
|
constexpr |
Type trait to detect if a type T has a data() member function.
- Template Parameters
-
◆ has_resize_member_v
template<typename T>
| bool nnl::utl::trait::has_resize_member_v = has_resize_member<T>::value |
|
constexpr |
Type trait to detect if a type T has a resize() member function.
- Template Parameters
-
◆ has_size_member_v
template<typename T>
| bool nnl::utl::trait::has_size_member_v = has_size_member<T>::value |
|
constexpr |
Type trait to detect if a type T has a size() member function.
- Template Parameters
-
◆ has_value_type_v
template<typename T>
| bool nnl::utl::trait::has_value_type_v = has_value_type<T>::value |
|
constexpr |
Type trait to detect if a type T defines a nested value_type.
- Template Parameters
-
◆ is_contiguous_v
Type trait to check if a type T represents a contiguous range.
- Template Parameters
-
◆ is_iterable_v
template<typename T>
| bool nnl::utl::trait::is_iterable_v = is_iterable<T>::value |
|
constexpr |
Type trait to check if a type T is iterable.
- Template Parameters
-
◆ is_non_contiguous_v
Type trait to check if a type T represents a non-contiguous range.
- Template Parameters
-