On this page
std::common_type<tuple-like>
Defined in header <tuple> |
||
---|---|---|
|
(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
TTypes
as the pack formed by the sequence of std::tuple_element_t<i, TTuple> for every integeri
in[
0
,
std::tuple_size_v<TTuple>
)
, andUTypes
as the pack formed by the sequence of std::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.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>
(TTuple
andUTuple
have 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
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) |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/utility/tuple/common_type