std::common_type<tuple-like>
ja.cppreference.net より
| ヘッダ <tuple>
|
||
template< tuple-like TTuple, tuple-like UTuple >
requires /* see below */
struct common_type<TTuple, UTuple>;
|
で定義 (C++23以降) | |
2つのtuple-like型の共通型は、両方の型の対応するすべての要素型ペアの共通型で構成されるstd::tupleです。
[
TTypesを、std::tuple_element_t<i, TTuple>内のすべての整数iに対する[0,std::tuple_size_v<TTuple>)のシーケンスによって形成されるパックとし、UTypesを、std::tuple_element_t<i, UTuple>内のすべての整数iに対する[0,std::tuple_size_v<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
の共通型を決定する
(クラステンプレートの特殊化) |