|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Member functions | ||||
| Non-member functions | ||||
(until C++20)(until C++20)(until C++20)(until C++20)(until C++20)(C++20) | ||||
| Helper concepts | ||||
(C++23) | ||||
| Helper classes | ||||
basic_common_reference<std::tuple> (C++23) | ||||
(C++23) | ||||
(C++23) | ||||
| Deduction guides(C++17) |
Defined in header <tuple> | ||
template< tuple-like TTuple, tuple-like UTuple, template<class>class TQual,template<class>class UQual> | (since C++23) | |
The common reference type of twotuple-like types is astd::tuple consists of the common reference types of all corresponding element type pairs of both types, where the cv and reference qualifiers on the tuple-like types are applied to their element types.
Given
TTypes as the pack formed by the sequence ofstd::tuple_element_t<i, TTuple> for every integeri in[0, std::tuple_size_v<TTuple>), andUTypes as the pack formed by the sequence ofstd::tuple_element_t<i, UTuple> for every integeri in[0, std::tuple_size_v<UTuple>),the following constraints need to be satisfied:
TTuple orUTuple is astd::tuple specialization.TTuple andUTuple have the same number of elements).| Member type | Definition |
type | std::tuple<std::common_reference_t<TQual<TTypes>..., UQual<UTypes>>...> |
| This section is incomplete Reason: no example |
| determines the common reference type of a group of types (class template)[edit] | |
determines the common reference type of twopairs(class template specialization)[edit] |