std:: common_type < tuple-like >
From cppreference.net
C++
Utilities library
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
std::tuple
| 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 | ||||
|
common_type
<std::tuple>
(C++23)
|
||||
|
(C++23)
|
||||
| Deduction guides (C++17) |
|
Defined in header
<tuple>
|
||
|
template
<
tuple
-
like TTuple, tuple
-
like UTuple
>
requires
/* see below */
|
(since C++23) | |
The common type of two
tuple-like
types is a
std::tuple
consists of the common types of all corresponding element type pairs of both types.
Given
-
TTypesas 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 -
UTypesas 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:
-
TTupleorUTupleis 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
>
(
TTupleandUTuplehave the same number of elements). - std:: tuple < std:: common_type_t < TTypes, UTypes > ... > denotes a type.
Member types
| Member type | Definition |
type
|
std:: tuple < std:: common_type_t < TTypes, UTypes > ... > |
Example
|
This section is incomplete
Reason: no example |
See also
|
(C++11)
|
determines the common type of a group of types
(class template) |
|
(C++23)
|
determines the common type of two
pair
s
(class template specialization) |