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. | |