|
| auto | as_streamable (auto e) |
| | Provides an extension point as_streamable in order to output types with no stream operator defined.
|
| template<kumi_implementation_defined auto Name, typename T> |
| decltype(auto) constexpr | capture_field (T &&t) noexcept |
| | Creates a field from a given value keeping the qualifiers.
|
| template<typename U, typename T> |
| decltype(auto) constexpr | field_cast (T &&t) noexcept |
| | Casts the provided value to the target type using static_cast.
|
| template<typename T> |
| constexpr decltype(auto) | kumi::field_value_of (T &&t) noexcept |
| | Extracts the value from a kumi::concepts::field or returns the parameter.
|
| template<concepts::identifier Id, concepts::product_type T> |
| consteval auto | kumi::get_index_of_field () |
| | Helper to retrive the index of a type in a product type by it s identifier.
|
| template<typename U, concepts::product_type T> |
| consteval auto | kumi::get_index_of_type () |
| | Helper to retrive the index of a type in a product type by it s type.
|
| template<typename T> |
| consteval auto | kumi::identifier_of () noexcept |
| | Extracts the identifiers from a kumi::concepts::field or returns the parameter.
|
| template<concepts::identifier... Ts> |
| consteval auto | kumi::identifiers (Ts... ts) noexcept |
| | Creates a kumi::projection_map object, deducing the target type from the types of arguments.
|
| template<concepts::index... Ts> |
| consteval auto | kumi::indexes (Ts... ts) noexcept |
| | Creates a kumi::projection_map object, deducing the target type from the types of arguments.
|
template<typename C, typename... Ts>
requires (std::is_invocable<C, Ts...>::value) |
| constexpr decltype(auto) | kumi::invoke (C &&c, Ts &&... ts) noexcept(std::is_nothrow_invocable< C, Ts... >::value) |
| | Invoke the Callable object c with a pack of arguments.
|
template<typename R, typename C, typename... Ts>
requires (std::is_invocable_r<R, C, Ts...>::value) |
| constexpr R | kumi::invoke_r (C &&c, Ts &&... ts) noexcept(std::is_nothrow_invocable_r< R, C, Ts... >::value) |
| | Invoke the Callable object c with a pack of arguments with return type R.
|
| template<typename T> |
| consteval str | kumi::label_of () noexcept |
| | Extracts the label from a kumi::concepts::field or returns the parameter.
|
| template<std::convertible_to< std::size_t > auto... vs> |
| consteval auto | kumi::make_indexes () noexcept |
| | Creates a kumi::projection_map object, deducing the target type from the types of arguments.
|
| template<concepts::product_type T> |
| constexpr auto | kumi::members_of (as< T >) noexcept |
| | Extracts the identifiers of the fields of a product type.
|
| template<char... c> |
| constexpr auto | kumi::operator""_c () noexcept |
| | Forms a integral constant literal of the desired value.
|
| template<kumi::str ID> |
| constexpr auto | kumi::operator""_id () noexcept |
| | Forms a constant string literal of the desired value.
|
| template<kumi::str ID> |
| constexpr auto | kumi::operator""_l () noexcept |
| | Forms a constant string literal of the desired value.
|
| template<template< class > class Pred> |
| constexpr auto | kumi::predicate () noexcept |
| | Convert a unary template meta-program in a running predicate.
|
| template<concepts::projection... Ts> |
| KUMI_CUDA | kumi::projection_map (Ts...) -> projection_map< Ts... > |
| | kumi::indexes_t deduction guide
|
| kumi::str constexpr | to_str (auto e) |
| | Provides an extension point to_str in order to output types with no textual representation defined.
|
| template<concepts::product_type T> |
| constexpr auto | kumi::values_of (T &&t) noexcept |
| | Extracts the values of the fields of a product type.
|
|
|
template<typename CharT, typename Traits> |
| std::basic_ostream< CharT, Traits > & | operator<< (std::basic_ostream< CharT, Traits > &os, field const &w) noexcept |
| | Inserts a kumi::field in an output stream.
|
|
template<typename CharT, typename Traits> |
| std::basic_ostream< CharT, Traits > & | operator<< (std::basic_ostream< CharT, Traits > &os, field const &w) noexcept |
| | Inserts a kumi::field in an output stream.
|
|
|
constexpr boolean_and | kumi::function::bit_and {} |
| | Forms a binary monoid callable that can be used in kumi::algoritm. It represents the logical and operation.
|
|
constexpr boolean_or | kumi::function::bit_or {} |
| | Forms a binary monoid callable that can be used in kumi::algoritm. It represents the logical or operation.
|
|
constexpr boolean_xor | kumi::function::bit_xor {} |
| | Forms a binary monoid callable that can be used in kumi::algoritm. It represents the logical xor operation.
|
| template<template< class > typename Traits> |
| constexpr traits_check< Traits > | kumi::if_ = {} |
| | Option specifying a traits that type should verify for being used as a identifier value.
|
|
template<std::size_t N> |
| constexpr index_t< N > const | kumi::index = {} |
| | Inline integral constant value for kumi::index_t.
|
|
template<str Label> |
| constexpr label_t< Label > const | kumi::label = {} |
| | Inline literal constant value for kumi::label_t.
|
|
constexpr numeric_prod | kumi::function::multiplies {} |
| | Forms a binary monoid callable that can be used in kumi::algoritm. It represents the multiplication.
|
|
constexpr unit | kumi::none = {} |
| | Inline constant representing a kumi::unit.
|
| template<typename T> |
| constexpr only_t< T > | kumi::only = {} |
| | Option specifying the single type a identifier will accept.
|
|
constexpr numeric_add | kumi::function::plus {} |
| | Forms a binary monoid callable that can be used in kumi::algoritm. It represents the addition.
|