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

◆ tie() [1/2]

template<str... Fields, typename... Ts>
requires ( sizeof...(Fields) == sizeof...(Ts) )
constexpr auto kumi::tie ( Ts &...  ts) -> record<field_capture<Fields, 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"_f = 1,"d"_f = 2.3,"f"_f = 4.56f};
}
int main()
{
int i;
double d;
float f;
kumi::tie<"i"_f, "d"_f, "f"_f>( 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:70
constexpr auto tie(Ts &... ts) -> record< field_capture< Fields, Ts & >... >
Creates a kumi::record of lvalue references to its arguments.
Definition record.hpp:290
Fixed-size collection of heterogeneous fields necessarily named, names are unique.
Definition traits.hpp:366