std::common_type<tuple-like>
来自 cppreference.com
定义于头文件 <tuple> 中 |
||
template< tuple-like TTuple, tuple-like UTuple > requires /* see below */ |
(自 C++23 起) | |
两个 tuple-like
类型的通用类型是 std::tuple,它包含两个类型的所有对应元素类型对的通用类型。
给定
-
TTypes
作为由对每个整数 i 在[
0,
std::tuple_size_v<TTuple>)
中的 std::tuple_element_t<i, TTuple> 序列形成的包,以及 -
UTypes
作为由对每个整数 i 在[
0,
std::tuple_size_v<UTuple>)
中的 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 的通用类型(类模板特化) |