|
| template<typename... Ts> |
| constexpr bool | kumi::all_unique_names_v = kumi_implementation_defined |
| | Checks if a parameter pack only contains distinct kumi::field names. Evaluates to false if no type is a kumi::field.
|
| template<typename... Ts> |
| constexpr bool | kumi::all_uniques_v = kumi_implementation_defined |
| | Checks if a parameter pack only contains distinct types.
|
| template<typename T> |
| constexpr std::size_t | kumi::container_size_v = kumi_implementation_defined |
| | Returns the statically known number of elements of a kumi::container.
|
| template<typename T> |
| constexpr bool | kumi::has_static_size_v |
| | Detects if a given kumi::container instance size is static.
|
| template<typename T> |
| constexpr bool | kumi::is_container_v = kumi_implementation_defined |
| | Traits detecting types behaving like a kumi::container.
|
| template<typename T, typename U> |
| constexpr bool | kumi::is_equality_comparable_v = false |
| | Checks if a two product types are comparable for equality.
|
| template<typename T, typename U> |
| constexpr bool | kumi::is_equivalent_v = false |
| | Checks if a two product types are equivalent.
|
| template<typename T, typename U> |
| constexpr bool | kumi::is_instance_of_v = false |
| | Checks if a type is an instance of a specific template.
|
| template<typename T> |
| constexpr bool | kumi::is_product_type_v = kumi_implementation_defined |
| | Detects if a type follows the tuple protocol.
|
| template<typename T> |
| constexpr bool | kumi::is_projection_map_v = requires { T::is_projection_map; } |
| | Checks if a type can be used as a kumi::projection_map.
|
| template<typename T> |
| constexpr bool | kumi::is_record_type_v = requires { typename T::is_record_type; } && kumi_implementation_defined |
| | Opt-in traits for types behaving like a kumi::record_type.
|
| template<typename T> |
| constexpr std::size_t | kumi::size_v = std::tuple_size<std::remove_cvref_t<T>>::value |
| | Computes the number of elements of a kumi::product_type.
|