名前空間
変種
操作

std::experimental::ranges::tagged_tuple

From cppreference.com
< cpp‎ | experimental‎ | ranges
 
 
 
 
汎用ユーティリティライブラリ
ユーティリティコンポーネント
関数オブジェクト
メタプログラミングと型特性
タグ付きペアとタプル
                          
タグ指定子
                                      
                          
tagged_tuple

 
Defined in header <experimental/ranges/tuple>
template< TaggedType... Types >
using tagged_tuple = /* 以下を参照 */;
(ranges TS)

ranges::taggedstd::tupleをラップする際の便利なエイリアス templateです。

TaggedTypeとは、TagSpecifierであるSと要素の型Tの関数型S(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 を作成するための便利な関数。
(function template) [編集]
ranges::tagged と共に使用するタグ指定子。
(class) [編集]
English 日本語 中文(简体) 中文(繁體)