std::common_type<tuple-like>
来自cppreference.com
在标头 <tuple> 定义
|
||
template< tuple-like TTuple, tuple-like UTuple > requires /* 见下文 */ |
(C++23 起) | |
两个 tuple-like
类型的共同类型是由它们的所有对应元素类型对的共同类型组成的 std::tuple。
给定
-
TTypes
为[
0,
std::tuple_size_v<TTuple>)
中的每个整数 i 对应的 std::tuple_element_t<i, TTuple> 组成的序列, -
UTypes
为[
0,
std::tuple_size_v<UTuple>)
中的每个整数 i 对应的 std::tuple_element_t<i, UTuple> 组成的序列,
需要满足以下约束:
-
TTuple
或UTuple
是 std::tuple 的特化。 - std::is_same_v<TTuple, std::decay_t<TTuple>> 是 true。
- std::is_same_v<UTuple, std::decay_t<UTuple>> 是 true。
- std::tuple_size_v<TTuple> 等于 std::tuple_size_v<UTuple>(
TTuple
和UTuple
的元素数量相同)。 - std::tuple<std::common_type_t<TTypes, UTypes>...> 能够表示一个类型。
成员类型
成员类型 | 定义 |
type
|
std::tuple<std::common_type_t<TTypes, UTypes>...> |
示例
本节未完成 原因:暂无示例 |
参阅
(C++11) |
确定一组类型的公共类型 (类模板) |
(C++23) |
确定两个 pair 的共同类型 (类模板特化) |