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

◆ get() [2/4]

template<str Name, typename... Ts>
decltype(auto) constexpr get ( record< Ts... > &  r)
related

Extracts the element of the field labeled Name from a kumi::record if it exists.

Note
Does not participate in overload resolution if the names are not unique
Template Parameters
NameNon type template parameter name of the field to access
Parameters
rRecord to index
Returns
A reference to the element of the selected field of r.

Example:

#include <kumi/kumi.hpp>
#include <iostream>
int main()
{
using namespace kumi::literals;
kumi::record r = { "x"_f = 1, "y"_f = 2.3, "z"_f = 4.5f, "t"_f = '@' };
std::cout << r["x"_f] << "\n";
std::cout << kumi::get<"x"_f>(r) << "\n";
std::cout << kumi::get<"y"_f>(r) << "\n";
std::cout << kumi::get<"z"_f>(r) << "\n";
kumi::get<"t"_f>(r)++;
std::cout << kumi::get<"t"_f>(r) << "\n";
}
constexpr decltype(auto) get(record< Ts... > &&r) noexcept
This is an overloaded member function, provided for convenience. It differs from the above function o...
Definition record.hpp:395
Fixed-size collection of heterogeneous fields necessarily named, names are unique.
Definition traits.hpp:366