名前空間
変種
操作

std::basic_common_reference<tuple-like>

From cppreference.com
< cpp‎ | utility‎ | tuple
 
 
ユーティリティライブラリ
言語サポート
型のサポート (基本型、RTTI)
ライブラリ機能検査マクロ (C++20)
プログラムユーティリティ
可変引数関数
コルーチンサポート (C++20)
契約サポート (C++26)
三方比較
(C++20)
(C++20)(C++20)(C++20)  
(C++20)(C++20)(C++20)

汎用ユーティリティ
関係演算子 (C++20で非推奨)
 
 
ヘッダ <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から)

2つのtuple-like型の共通参照型は、両方の型の対応する要素型ペアの共通参照型からなるstd::tupleです。ここで、タプルライク型に対するcv修飾子と参照修飾子は、それらの要素型に適用されます。

以下を考えます。

  • TTypesは、整数iについて、[0std::tuple_size_v<TTuple>)の範囲のすべてのstd::tuple_element_t<i, TTuple>のシーケンスによって形成されるパック、および
  • UTypesは、整数iについて、[0std::tuple_size_v<UTuple>)の範囲のすべてのstd::tuple_element_t<i, UTuple>のシーケンスによって形成されるパックです。

以下の制約を満たす必要があります。

[編集] メンバ型

メンバ型 定義
type std::tuple<std::common_reference_t<TQual<TTypes>..., UQual<UTypes>>...>

[編集]

[編集] 関連項目

型のグループの共通の参照型を決定する
(クラステンプレート) [編集]
2つのpairの共通参照型を決定する
(クラステンプレート特殊化) [編集]
English 日本語 中文(简体) 中文(繁體)