名前空間
変種
操作

std::experimental::ranges::tagged_pair

From cppreference.com
< cpp‎ | experimental‎ | ranges
 
 
 
 
汎用ユーティリティライブラリ
ユーティリティコンポーネント
関数オブジェクト
メタプログラミングと型特性
タグ付きペアとタプル
                          
タグ指定子
                                      
tagged_pair
                          
 
template< TaggedType T1, TaggedType T2 >
using tagged_pair = /* 以下を参照 */;
(ranges TS)

ranges::taggedstd::pair をラップする際の、便宜的なエイリアステンプレートです。

TaggedType は、STagSpecifierT が要素の型であるような関数型 S(T) です。

tagged_pair<S1(T1), S2(T2)> は、ranges::tagged<std::pair<T1, T2>, S1, S2> のエイリアスです。

[編集] 注釈

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

[編集] 関連項目

型がタグ指定子とその要素型を表すことを指定します
(コンセプト) [編集]
名前付きアクセサでタプルライクな型を拡張します
(クラステンプレート) [編集]
tagged_pair を作成するための便利な関数
(関数テンプレート) [編集]
タグ付き std::tuple のエイリアステンプレート。
(alias template)[編集]
tagged_tuple を作成するための便利な関数。
(function template) [編集]
ranges::tagged と共に使用するタグ指定子。
(class) [編集]
English 日本語 中文(简体) 中文(繁體)