std:: common_type < tuple-like >
From cppreference.net
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) |
|
定义于头文件
<tuple>
|
||
|
template
<
tuple
-
like TTuple, tuple
-
like UTuple
>
requires
/* 见下文 */
|
(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
的公共类型
(类模板特化) |