Algorithms querying properties from product types. More...
Functions | |
| template<concepts::product_type T> | |
| constexpr auto | kumi::all_of (T &&t) noexcept |
| Computes the reduction of a product type over the && operator. | |
| template<typename Pred, concepts::product_type T> | |
| constexpr auto | kumi::all_of (T &&t, Pred p) noexcept |
| Checks if a unary predicate p returns true for every element of t. | |
| template<concepts::product_type T> | |
| constexpr auto | kumi::any_of (T &&t) noexcept |
| Computes the reduction of a product type over the || operator. | |
| template<typename Pred, concepts::product_type T> | |
| constexpr auto | kumi::any_of (T &&t, Pred p) noexcept |
| Checks if a unary predicate p returns true for any element of t. | |
| template<concepts::product_type T, concepts::identifier ID> | |
| constexpr bool | kumi::contains (T &&t, ID const &id) noexcept |
| Checks if a product type contains a given identifier. | |
| template<concepts::product_type T, concepts::identifier... Is> | |
| constexpr bool | kumi::contains_any (T &&t, Is const &... ids) noexcept |
| Checks if a product type contains at least one of many identifiers. | |
| template<concepts::product_type T, concepts::identifier... Is> | |
| constexpr bool | kumi::contains_none (T &&t, Is const &... ids) noexcept |
| Checks if a product type contains no fields based on any of the selected identifiers. | |
| template<concepts::product_type T, concepts::identifier... Is> | |
| constexpr bool | kumi::contains_only (T &&t, Is const &... ids) noexcept |
| Checks if a product type contains fields based only on selected identifiers. | |
| template<concepts::product_type T> | |
| constexpr std::size_t | kumi::count (T &&t) noexcept |
| Counts the number of elements of t not equivalent to false. | |
| template<typename Pred, concepts::product_type T> | |
| constexpr std::size_t | kumi::count_if (T &&t, Pred p) noexcept |
| Counts the number of elements of t satisfying predicates p. | |
| template<typename Pred, concepts::product_type T> | |
| constexpr auto | kumi::locate (T &&t, Pred p) noexcept |
| Return the index of a value which type satisfies a given predicate. | |
| template<concepts::product_type T> | |
| constexpr bool | kumi::none_of (T &&t) noexcept |
| Checks if no elements of a product type are true. | |
| template<typename Pred, concepts::product_type T> | |
| constexpr bool | kumi::none_of (T &&t, Pred p) noexcept |
| Checks if a unary predicate p does not returns true for any element in t. | |
| template<concepts::product_type T> | |
| constexpr auto | kumi::pop_front (T &&t) |
| Remove the first (if any) element of t. | |
| template<concepts::product_type T, typename V> | |
| constexpr auto | kumi::push_front (T &&t, V &&v) |
| Constructs a product type by adding a value v at the beginning of t. | |