Namespaces
Variants

std::experimental::ranges:: tagged_tuple

From cppreference.net
定義済みヘッダー <experimental/ranges/tuple>
template < TaggedType ... Types >
using tagged_tuple = /* 下記参照 */ ;
(ranges TS)

ranges::tagged でラップされた std::tuple を命名するための便利なエイリアステンプレート。

TaggedType は関数型 S(T) であり、ここで S TagSpecifier T は要素の型です。

tagged_tuple < S1 ( T1 ) , ..., SN ( TN ) > ranges:: tagged < std:: tuple < T1, ..., TN > , S1, ..., SN > のエイリアスです。

注記

関数型はタグ指定子と対応する要素型を「接着」するために使用されるため、通常のパラメータ型調整が適用されます。特に、トップレベルのcv修飾子は除去され、配列型はポインタに調整されます: tagged_tuple < tag:: in ( const int * const ) , tag:: out ( int [ ] ) > ranges:: tagged < std:: tuple < const int * , int * > , tag:: in , tag:: out > となります。

関連項目

型がタグ指定子とその要素型を表すことを指定する
(コンセプト)
タプルライクな型に名前付きアクセサを追加する
(クラステンプレート)
タグ付き std::pair のエイリアステンプレート
(エイリアステンプレート)
tagged_pair を作成するための便利関数
(関数テンプレート)
tagged_tuple を作成するための便利関数
(関数テンプレート)
ranges::tagged で使用するためのタグ指定子
(クラス)