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 >
requires /* see below */
struct basic_common_reference<TTuple, UTuple, TQual, UQual>;
|
(since C++23) | |
The common reference type of two tuple-like types is a std::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
TTypesas the pack formed by the sequence ofstd::tuple_element_t<i, TTuple>for every integeriin[0,std::tuple_size_v<TTuple>), andUTypesas the pack formed by the sequence ofstd::tuple_element_t<i, UTuple>for every integeriin[0,std::tuple_size_v<UTuple>),
the following constraints need to be satisfied:
TTupleorUTupleis a std::tuple specialization.std::is_same_v<TTuple, std::decay_t<TTuple>>istrue.std::is_same_v<UTuple, std::decay_t<UTuple>>istrue.std::tuple_size_v<TTuple>equalsstd::tuple_size_v<UTuple>(TTupleandUTuplehave the same number of elements).std::tuple<std::common_reference_t<TQual<TTypes>..., UQual<UTypes>>...>denotes a type.
Member types
| Member type | Definition |
type
|
std::tuple<std::common_reference_t<TQual<TTypes>..., UQual<UTypes>>...>
|
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) |