< cpp‎ | experimental‎ | ranges
Technical Specification
Filesystem library (filesystem TS)
Library fundamentals (library fundamentals TS)
Library fundamentals 2 (library fundamentals TS v2)
Library fundamentals 3 (library fundamentals TS v3)
Extensions for parallelism (parallelism TS)
Extensions for parallelism 2 (parallelism TS v2)
Extensions for concurrency (concurrency TS)
Extensions for concurrency 2 (concurrency TS v2)
Concepts (concepts TS)
Ranges (ranges TS)
Reflection (reflection TS)
Mathematical special functions (special functions TR)
Experimental Non-TS
Pattern Matching
Linear Algebra
2D Graphics
General utilities library
Utility components
Function objects
Metaprogramming and type traits
Tagged pairs and tuples
tag specifiers
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) [edit]
augument a tuple-like type with named accessors
(class template) [edit]
convenience function for creating a tagged_pair
(function template) [edit]
alias template for a tagged std::tuple
(alias template)[edit]
convenience function for creating a tagged_tuple
(function template) [edit]
tag specifiers for use with ranges::tagged
(class) [edit]