KUMI v4.0.0
Flawless Fluorite
Loading...
Searching...
No Matches
Record Types and associated Functions

Definition for kumi defined record type classes and functions. More...

Classes

class  kumi::record< Ts >
 Fixed-size collection of heterogeneous tagged fields, tags are unique. More...

Record construction

template<kumi::concepts::identifier auto... Fields, typename... Ts>
constexpr auto kumi::tie (Ts &... ts) -> kumi::record< kumi::field< decltype(Fields), Ts & >... > requires(sizeof...(Fields)==sizeof...(Ts))
 Creates a kumi::record of lvalue references to its arguments.
template<kumi::concepts::identifier auto... Fields, typename... Ts>
constexpr auto kumi::forward_as_record (Ts &&... ts) -> kumi::record< kumi::field< decltype(Fields), Ts && >... > requires(sizeof...(Fields)==sizeof...(Ts))
 Creates a kumi::record of forwarding references to its arguments.
template<typename... Ts>
constexpr auto kumi::make_record (Ts &&... ts) -> kumi::record< std::unwrap_ref_decay_t< Ts >... > requires(kumi::concepts::uniquely_named< Ts... > &&kumi::concepts::fully_named< Ts... >)
 Creates a record object, deducing the target type from the types of arguments.
template<kumi::concepts::record_type R>
constexpr auto kumi::to_ref (R &&r)
 Creates a kumi::record of references given a reference to a kumi::record_type.

Record conversion

template<kumi::concepts::record_type Type, typename... Ts>
requires ( kumi::concepts::equivalent<typename kumi_implementation_defined::type, kumi::tuple<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<kumi::concepts::record_type Type>
constexpr auto kumi::to_record (Type &&r)
 Converts a kumi::record_type to an instance kumi::record.