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

◆ operator[]() [2/3]

template<typename... Ts>
template<str Name>
requires ( uniquely_named<Ts...> && contains_field<Name, Ts...> )
constexpr decltype(auto) kumi::tuple< Ts >::operator[] ( field_name< Name >  ) &
inlineconstexprnoexcept

Extracts the element labeled Name from a kumi::tuple.

Note
Does not participate in overload resolution if Name is not present in the tuple or if the tuple contains duplicate names.
Template Parameters
NameNon type template parameter name of the element to access
Returns
A reference to the selected element of current tuple.

Example:

#include <kumi/kumi.hpp>
#include <iostream>
int main()
{
using namespace kumi::literals;
kumi::tuple t = { "x"_f = 1, "y"_f = 2.3, "z"_f = 4.5f, "t"_f = '@' };
std::cout << t << "\n";
std::cout << t["x"_f] << "\n";
std::cout << t["y"_f] << "\n";
std::cout << t["z"_f] << "\n";
t["t"_f]++;
std::cout << t["t"_f] << "\n";
}
Fixed-size collection of heterogeneous values.
Definition tuple.hpp:37