std::experimental::ranges:: make_tagged_tuple

From cppreference.com
template < TagSpecifier ... Tags , class ... Types >

requires sizeof... ( Tags ) == sizeof... ( Types )

constexpr ranges:: tagged < /*see below*/ , Tags... > make_tagged_tuple ( Types && ... t ) ;
(ranges TS)

Convenience function for creating a tagged tuple, 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_tuple ( std:: forward < Types > ( t ) ... ) ) .

Return value

R ( std:: forward < Types > ( t ) ... ) , 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)
convenience function for creating a tagged_pair
(function template)
alias template for a tagged std::tuple
(alias template)
tag specifiers for use with ranges::tagged
(class)