std::common_type<tuple-like>
From cppreference.com
| ヘッダ <tuple> で定義 |
||
| template< tuple-like TTuple, tuple-like UTuple > requires /* 以下を参照 */ |
(C++23から) | |
2つの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) |
2つのpairの共通型を決定する(クラステンプレート特殊化) |