std::experimental::ranges::tagged_pair
From cppreference.com
< cpp | experimental | ranges
Defined in header <experimental/ranges/utility>
|
||
template< TaggedType T1, TaggedType T2 > using tagged_pair = /* see below */; |
(ranges TS) | |
Convenience alias template for naming a ranges::tagged
wrapping a std::pair.
A TaggedType
is a function type S(T)
, where S
is a TagSpecifier
and T
is the type of the element.
tagged_pair<S1(T1), S2(T2)> is an alias for ranges::tagged<std::pair<T1, T2>, S1, S2>.
[edit] 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_pair<tag::in(const int* const), tag::out(int[])> is ranges::tagged<std::pair<const int*, int*>, tag::in, tag::out>.
[edit] 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) | |
convenience function for creating a tagged_pair (function template) | |
alias template for a tagged std::tuple (alias template) | |
convenience function for creating a tagged_tuple (function template) | |
tag specifiers for use with ranges::tagged (class) |