std::basic_common_reference<タプルライク>
ja.cppreference.net より
| ヘッダ <tuple>
|
||
template< tuple-like TTuple, tuple-like UTuple,
template<class> class TQual, template<class> class UQual >
requires /* see below */
struct basic_common_reference<TTuple, UTuple, TQual, UQual>;
|
(C++23 以降) で定義 | |
2つのtuple-like型の共通参照型は、std::tupleであり、これは両方の型の対応するすべての要素型ペアの共通参照型から構成されます。ここで、タプルライク型に対する cv 修飾および参照修飾子は、その要素型に適用されます。
次のように定義します。
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_reference_t<TQual<TTypes>..., UQual<UTypes>>...>が型を表すこと。
メンバー型
| メンバー型 | 定義 |
type
|
std:: tuple < std:: common_reference_t < TQual < TTypes > ..., UQual < UTypes >> ... > |
例
|
このセクションは不完全です
理由: 例がありません |
関連項目
|
型のグループの共通参照型を決定する
(クラステンプレート) |
|
2つの
pair
の共通参照型を決定する
(クラステンプレート特殊化) |