最終更新日時(UTC):
が更新

履歴 編集

class template
<tuple>

std::common_type(C++23)

namespace std {
  template<tuple-like TTuple, tuple-like UTuple>
  struct common_type<TTuple, UTuple>;
}

概要

tupletuple-likeなオブジェクについて、どちらからも変換可能な共通の型を取得できるようにするcommon_typeの特殊化である。

効果

tuple<common_type_t<TTypes, UTypes>...>によって得られた型をメンバ型typeとして定義する。

備考

  • TTupleUTupleのどちらかがtupleの特殊化であること。
  • TTupleUTupleのそれぞれについて、(次のTを置き換える形で)is_same_v<T, decay_t<T>>であること。
    • 実質的にはTTupleUtupleについて、参照型ではなく、最上位のconst/volatile修飾も持っていないこと要求する。
  • TTupleUTupleの要素数が一致していること。
  • tuple<common_type_t<TTypes, UTypes>...>が正しく型を表すこと。

バージョン

言語

  • C++23

処理系

関連項目

参照