KUMI v3.1.0
Exquisite Epidote
Loading...
Searching...
No Matches

◆ tie() [1/2]

template<concepts::identifier auto... Fields, typename... Ts>
auto kumi::tie ( Ts &... ts) -> record< field< decltype(Fields), Ts & >... > requires(sizeof...(Fields)==sizeof...(Ts))
inlineconstexpr

Creates a kumi::record of lvalue references to its arguments.

Template Parameters
FieldsNon type template parameters names to associate to the each element.
Parameters
tsZero or more lvalue arguments to construct the record from.
Returns
A kumi::record object containing lvalue references.

Example:

#include <kumi/kumi.hpp>
#include <iostream>
using namespace kumi::literals;
auto generate()
{
return kumi::record{"i"_id = 1,"d"_id = 2.3,"f"_id = 4.56f};
}
int main()
{
int i;
double d;
float f;
kumi::tie<"i"_id, "d"_id, "f"_id>( i,d,f ) = generate();
std::cout << i << " " << d << " " << f << "\n";
}
constexpr auto generate(Function const &f) noexcept
Creates a kumi::tuple containing N applications of the f Callable.
Definition generate.hpp:72
Fixed-size collection of heterogeneous tagged fields, tags are unique.
Definition record.hpp:36