Boost C++ Libraries Home Libraries People FAQ More

PrevUpHomeNext

Function template get

pfr::get — Returns reference or const reference to a field with index I in simple aggregate val. Overload taking the type U returns reference or const reference to a field with provided type U in simple aggregate val if there's only one field of such type in val.

Synopsis

// In header: <pfr/core.hpp>


template<std::size_t I, typename T> 
  constexpr decltype(auto) get(const T & val);

Description

Example:

struct my_struct { int i, short s; };
my_struct s {10, 11};

assert(pfr::get<0>(s) == 10);
pfr::get<1>(s) = 0;

assert(pfr::get<int>(s) == 10);
pfr::get<short>(s) = 11;


PrevUpHomeNext