std::common_type<tuple-like>
From cppreference.com
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
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>) -
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> (
TTupleandUTuple - std::tuple < std::common_type_t <TTypes, UTypes>...>
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 pairs (class template specialization) |