kumi v3.1.0
Exquisite Epidote
 
Loading...
Searching...
No Matches
Helper Types and Functions

Tools for interacting with kumi::tuple. More...

Classes

struct  kumi::as_tuple< T, Meta >
 Generate a kumi::tuple type from a type. More...
 
class  kumi::boolean_and
 A type representing the logical and monoid and it's associated identity. The identity of the boolean_and is true. More...
 
class  kumi::boolean_or
 A type representing the logical or monoid and it's associated identity. The identity of boolean_or is false. More...
 
class  kumi::boolean_xor
 A type representing the logical xor monoid and it's associated identity. The identity of boolean_xor is false. More...
 
class  kumi::field_name< ID >
 Named wrapper used to instantiate a kumi::field_capture. More...
 
struct  kumi::index_t< N >
 Integral constant type. More...
 
class  kumi::indexes_t< V >
 Compile time tuple of index used to pass several indexes_t as NTTP. More...
 
class  kumi::numeric_add
 A type representing the addition monoid with it's associated identity. The identity of the addition is 0. More...
 
class  kumi::numeric_prod
 A type representing the multiplication monoid with it's associated identity. The identity of the multiplication is 1. More...
 
class  kumi::str
 Static string used to create named fields. More...
 
class  kumi::unit
 A type representing the product of no type also called the unit type. More...
 

Functions

template<product_type Tuple>
requires ( size_v<Tuple> != 0)
constexpr decltype(auto) kumi::back (Tuple &&t)
 Retrieves the back of a tuple.
 
template<record_type Type, typename... Ts>
requires ( equivalent<Type, record<Ts...>> )
constexpr auto kumi::from_record (record< Ts... > const &r)
 Converts a kumi::record to an instance of a type that models kumi::record_type.
 
template<typename Type , typename... Ts>
requires (!product_type<Type> && _::implicit_constructible<Type, Ts...>)
constexpr auto kumi::from_tuple (tuple< Ts... > const &t)
 Converts a kumi::tuple to an instance of an arbitrary type.
 
template<product_type Tuple>
requires ( size_v<Tuple> != 0)
constexpr decltype(auto) kumi::front (Tuple &&t)
 Retrieves the front of a tuple.
 
template<indexer... Ts>
consteval auto kumi::indexes (Ts... ts) noexcept
 Creates a kumi::indexes object, deducing the target type from the types of arguments.
 
template<indexer... Ts>
KUMI_CUDA kumi::indexes_t (Ts...) -> indexes_t< Ts... >
 kumi::indexes_t deduction guide
 
template<typename T >
auto kumi::_::make_streamable (T const &e)
 Provides an extension point as_streamable in order to output types with no stream operator defined.
 
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""_f () 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<record_type Type>
constexpr auto kumi::to_record (Type &&r)
 Converts a kumi::record_type to an instance kumi::record.
 
template<product_type Type>
constexpr auto kumi::to_tuple (Type &&t)
 Converts a kumi::product_type to an instance kumi::tuple.
 

Variables

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<str ID>
constexpr auto kumi::field = field_name<ID>{}
 Forms a constant kumi::field_name of the desired ID.
 
template<std::size_t N>
constexpr index_t< N > const kumi::index = {}
 Inline integral constant value for kumi::index_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.
 
constexpr numeric_add kumi::function::plus {}
 Forms a binary monoid callable that can be used in kumi::algoritm. It represents the addition.