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 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
-
TTypes
as the pack formed by the sequence of std::tuple_element_t<i, TTuple> for every integer i in[
0,
std::tuple_size_v<TTuple>)
, and -
UTypes
as the pack formed by the sequence of std::tuple_element_t<i, UTuple> for every integer i in[
0,
std::tuple_size_v<UTuple>)
,
the following constraints need to be satisfied:
-
TTuple
orUTuple
is a std::tuple specialization. - std::is_same_v<TTuple, std::decay_t<TTuple>> is true.
- std::is_same_v<UTuple, std::decay_t<UTuple>> is true.
- std::tuple_size_v<TTuple> equals std::tuple_size_v<UTuple> (
TTuple
andUTuple
have the same number of elements). - std::tuple<std::common_reference_t<TQual<TTypes>..., UQual<UTypes>>...> denotes a type.
[edit] Member types
Member type | Definition |
type
|
std::tuple<std::common_reference_t<TQual<TTypes>..., UQual<UTypes>>...> |
[edit] Example
This section is incomplete Reason: no example |
[edit] See also
determines the common reference type of a group of types (class template) | |
determines the common reference type of two pair s (class template specialization) |