std::experi...agged_tuple(3)

πŸ“¦ version 2024.07.05, in nixpkgs unstable, opensuse-leap 16.0

πŸ’… std::experi...agged_tuple(3) πŸ’…

okay bestie, welcome to the <std::experi...agged_tuple(3)> page from the C++ Standard Libary manual β€” yes, the title is literally truncated like that, and no, we are not fixing it πŸ’€. This is the little corner of the group chat where tagged tuples get made. ✨

✨ NAME ✨

std::experimental::ranges::make_tagged_tuple β€” literally std::experimental::ranges::make_tagged_tuple. The NAME section said it twice, so we're keeping both, periodt πŸ’….

🌸 Synopsis 🌸

Defined in header <experimental/ranges/tuple>:

template< TagSpecifier... Tags, class... Types >

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

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

This is the ranges TS version, and the vibe check is: it's a 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. That's it, that's the return, no cap 😌.

πŸ¦‹ See also πŸ¦‹

  • TaggedType β€” specifies that a type represents a tag specifier and its element type (concept)
  • tagged β€” augument (their spelling, not mine πŸ’…) a tuple-like type with named accessors (class template)
  • tagged_pair β€” alias template for a tagged std::pair (alias template)
  • make_tagged_pair β€” convenience function for creating a tagged_pair (function template)
  • tagged_tuple β€” alias template for a tagged std::tuple (alias template)
  • in, in1, in2, out, out1, out2, fun, min, max, begin, end β€” tag specifiers for use with ranges::tagged (class)

that's the whole page bestie 🫢 source/version: http://cppreference.com; date: 2024.06.10 β€” catch you in the next manpage πŸ’–

πŸ“¦ where this page comes from