std::basic_common_reference<tuple-like>
来自cppreference.com
<tbody>
</tbody>
| 在标头 <tuple> 定义
|
||
template< tuple-like TTuple, tuple-like UTuple, template<class> class TQual, template<class> class UQual > requires /* 见下文 */ struct basic_common_reference<TTuple, UTuple, TQual, UQual>; |
(C++23 起) | |
两个 tuple-like 类型的公共引用类型是由它们的每对对应元素类型的公共引用类型组成的 std::tuple,其中各个 tuple-like 类型上的 cv 与引用限定符都会应用到它们的元素类型上。
给定
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_reference_t<TQual<TTypes>..., UQual<UTypes>>...>能够表示一个类型。
成员类型
| 成员类型 | 定义 |
type
|
std::tuple<std::common_reference_t<TQual<TTypes>..., UQual<UTypes>>...>
|
示例
| 本节未完成 原因:暂无示例 |
参阅
| 确定一组类型的公共引用类型 (类模板) | |
确定两个 pair 的公共引用类型 (类模板特化) |