std::common_type<tuple-like>
来自cppreference.com
<tbody>
</tbody>
| 在标头 <tuple> 定义
|
||
template< tuple-like TTuple, tuple-like UTuple > requires /* 见下文 */ struct common_type<TTuple, UTuple>; |
(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 的公共类型 (类模板特化) |