Namespaces
Variants

std::common_type<tuple-like>

ja.cppreference.net より
 
 
ユーティリティライブラリ
言語サポート
型サポート (基本型、RTTI)
ライブラリ機能テストマクロ (C++20)
プログラムユーティリティ
可変引数関数
コルーチンサポート (C++20)
契約サポート (C++26)
三方比較
(C++20)
(C++20)(C++20)(C++20)    
(C++20)(C++20)(C++20)

汎用ユーティリティ
関係演算子 (C++20で非推奨)
整数比較関数
(C++20)(C++20)(C++20)    
(C++20)
swap と 型操作
(C++14)
(C++11)
(C++11)
(C++11)
(C++17)
共通語彙型
(C++11)
(C++17)
(C++17)
(C++17)
(C++11)
(C++17)
(C++23)



 
 
ヘッダ <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 > ... >

例

関連項目

型のグループの共通型を決定する
(クラステンプレート)
2つの pair の共通型を決定する
(クラステンプレートの特殊化)