std::experimental::ranges::tagged (3) - Linux Manuals
std::experimental::ranges::tagged: std::experimental::ranges::tagged
NAME
std::experimental::ranges::tagged - std::experimental::ranges::tagged
Synopsis
Defined in header <experimental/ranges/utility>
template< class Base, TagSpecifier... Tags >
requires sizeof...(Tags) <= std::tuple_size<Base>::value (ranges TS)
struct tagged;
The class template tagged augments a tuple-like class type Base, which it publicly derives from, with a set of named accessors specified by the tag specifiers Tags.... The tags are applied in order: the i-th tag specifier in Tags... correspond to the i-th element of the tuple.
The tag specifiers in Tags... shall be unique. Otherwise, the behavior is undefined.
It is not possible to delete an instance of tagged through a pointer to any base other than Base.
Member functions
constructor (public member function)
operator= (public member function)
swap (public member function)
Named element accessors
For the N-th tag specifier in Tags... whose corresponding element name is name, tagged provides accessors named name as follows:
Non-member functions
ranges::swap(ranges::tagged) (function)
Tuple-like access
std::tuple_size<std::experimental::ranges::tagged> (class template specialization)
std::tuple_element<std::experimental::ranges::tagged> (class template specialization)
See also
TagSpecifier (concept)
tagged_pair (alias template)
make_tagged_pair (function template)
tagged_tuple (alias template)