std::experimental::ranges::make_tagged_pair

From cppreference.com
< cpplrm; | experimentallrm; | ranges
template< TagSpecifier Tag1, TagSpecifier Tag2, class T1, class T2>
constexpr ranges::tagged</*see below*/, Tag1, Tag2> make_tagged_pair(T1&& x, T2&& y);
(ranges TS)

Convenience function for creating a tagged pair, deducing the element types from the arguments (the tag specifiers must be explicitly specified).

The see below portion of the return type is decltype(std::make_pair(std::forward<T1>(x), std::forward<T2>(y))).

Return value

R(std::forward<T1>(x), std::forward<T2>(y)), where R is the return type.

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)
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)