std::basic_common_reference<tuple-like>
From cppreference.com
| 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 two tuple-like types is a 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.
The common type is defined only if
- both
TTupleandUTupleare cv-unqualified tuple-like types, and - either
TTupleorUTupleis a std::tuple specialization, and - both
TTupleandUTuplehave the same number of elements (as determined by std::tuple_size_v), and - all corresponding element type pairs of
TTupleandUTuplehave common reference types.
Member types
| Member type | Definition |
type
|
std::tuple<std::common_reference_t<TQual<TTypes>..., UQual<UTypes>>...> |
In the table above, TTypes... and UTypes... denotes the sequence of element types of TTuple and UTuple respectively, where each elements type of TupleLike at given index I is std::tuple_element_t<I, TupleLike>.
Example
| This section is incomplete Reason: no example |
See also
| determines the common reference type of a group of types (class template) | |
determines the common reference type of two pairs (class template specialization) |