std::common_type<tuple-like>
来自 cppreference.cn
定义于头文件 <tuple> |
||
template< tuple-like TTuple, tuple-like UTuple > requires /* see below */ |
(since C++23) | |
两个 tuple-like
类型的共同类型是一个 std::tuple,它由两种类型的所有对应元素类型对的共同类型组成。
给定
-
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_type_t<TTypes, UTypes>...> denotes a type.
[edit] 成员类型
成员类型 | 定义 |
type
|
std::tuple<std::common_type_t<TTypes, UTypes>...> |
[edit] 示例
本节尚不完整 原因:没有示例 |
[edit] 参见
(C++11) |
确定一组类型的共同类型 (class template) |
(C++23) |
determines the common type of two pair s(class template specialization) |