template <TagSpecifier... Tags, class... Types>
requires sizeof...(Tags) == sizeof...(Types)
constexpr see below make_tagged_tuple(Types&&... t);
Let T be the type of make_tuple(std::forward<Types>(t)...). Then the return type is tagged<T, Tags...>.
Returns: tagged<T, Tags...>(std::forward<Types>(t)...).
[ Example:
int i; float j; make_tagged_tuple<tag::in1, tag::in2, tag::out>(1, ref(i), cref(j))
creates a tagged tuple of type
tagged_tuple<tag::in1(int), tag::in2(int&), tag::out(const float&)>
— end example ]