std::experimental::ranges::tagged_tuple
Defined in header <experimental/ranges/tuple>
|
||
template
<
TaggedType... Types
>
using tagged_tuple = /* see below */ ; |
(ranges TS) | |
Convenience alias template for naming a ranges::tagged
wrapping a std::tuple.
A TaggedType
is a function type S(T)
, where S
is a TagSpecifier
and T
tagged_tuple<S1(T1), ..., SN(TN)> is an alias for ranges::tagged < std::tuple <T1, ..., TN>, S1, ..., SN>
Notes
Because a function type is used to "glue" the tag specifier and the corresponding element type together, the usual parameter type adjustments apply. In particular, top-level cv-qualifiers are removed and array types are adjusted to pointers: tagged_tuple< tag::in ( const int * const ), tag::out ( int [ ] ) > is ranges::tagged < std::tuple < const int *, int * >, tag::in, tag::out >
See also
specifies that a type represents a tag specifier and its element type (concept) |
|
augument a tuple-like type with named accessors (class template) |
|
alias template for a tagged std::pair (alias template) |
|
convenience function for creating a tagged_pair (function template) |
|
convenience function for creating a tagged_tuple (function template) |
|
tag specifiers for use with ranges::tagged (class) |