KUMI v4.0.0
Flawless Fluorite
Loading...
Searching...
No Matches

◆ tie() [1/2]

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

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 generate_t< N > generate
Callable object creating a kumi::tuple containing N applications of the f Callable.
Definition generate.hpp:99
Fixed-size collection of heterogeneous tagged fields, tags are unique.
Definition record.hpp:36