名前空間
変種
操作

実験ライブラリヘッダー <experimental/ranges/utility>

From cppreference.com
< cpp‎ | header‎ | experimental
 
 
標準ライブラリヘッダー
 
実験的なライブラリヘッダー
実行 P2300
<experimental/execution>
ファイルシステム TS
<experimental/filesystem>
並列処理 TS (v1, v2)
experimental/algorithm
experimental/execution_policy
experimental/exception_list
experimental/numeric
<experimental/simd>
experimental/task_block
ライブラリの基礎 TS (v1, v2, v3)
experimental/algorithm
<experimental/any>
experimental/array
experimental/chrono
experimental/deque
experimental/forward_list
<experimental/functional>
experimental/future
experimental/iterator
experimental/list
experimental/map
experimental/memory
<experimental/memory_resource>
experimental/numeric
<experimental/optional>
experimental/propagate_const
experimental/random
experimental/ratio
experimental/regex
experimental/scope
experimental/set
experimental/source_location
experimental/string
<experimental/string_view>
experimental/system_error
experimental/tuple
experimental/type_traits
experimental/unordered_map
experimental/unordered_set
experimental/utility
experimental/vector

並行処理 TS
experimental/atomic
experimental/barrier
experimental/future
experimental/latch
Ranges TS
コルーチンTS
experimental/coroutine
ネットワーキングTS
experimental/buffer
experimental/executor
experimental/internet
experimental/io_context
<experimental/net>
experimental/netfwd
experimental/socket
experimental/timer
リフレクションTS
<experimental/reflect>
 

このヘッダーは、ranges ライブラリの一部です。

目次

[編集] ユーティリティコンポーネント

std::experimental::ranges 名前空間で定義されます。
2つのオブジェクトの値を交換します
(カスタマイズポイントオブジェクト)[編集]
引数を新しい値で置き換え、その前の値を返す
(関数テンプレート) [編集]

[編集] タグコンセプト

std::experimental::ranges 名前空間で定義されます。
型がタグ指定子であることを指定します
(コンセプト) [編集]
型がタグ指定子とその要素型を表すことを指定します
(コンセプト) [編集]

[編集] タグ付きペア

std::experimental::ranges 名前空間で定義されます。
名前付きアクセサでタプルライクな型を拡張します
(クラステンプレート) [編集]
タグ付き std::pair のエイリアステンプレート
(エイリアステンプレート)[編集]
tagged_pair を作成するための便利な関数
(関数テンプレート) [編集]

[編集] シノプシス

namespace std { namespace experimental { namespace ranges { inline namespace v1 {
 
namespace {
  constexpr /* unspecified */ swap = /* unspecified */;
} 
 
template<MoveConstructible T, class U = T>
  requires Assignable<T&, U>
constexpr T exchange(T& obj, U&& new_val) noexcept(/* see definition */);
 
template <class T>
concept bool TagSpecifier = /* see definition */;
 
template <class F>
concept bool TaggedType = /* see definition */;
 
template <class Base, TagSpecifier... Tags>
  requires sizeof...(Tags) <= std::tuple_size<Base>::value
struct tagged;
 
template <TaggedType T1, TaggedType T2>
using tagged_pair = /* see definition */;
 
template <TagSpecifier Tag1, TagSpecifier Tag2, class T1, class T2>
constexpr /* see definition */ make_tagged_pair(T1&& x, T2&& y);
 
}}}}
 
namespace std {
 
template <class Base, class... Tags>
struct tuple_size<experimental::ranges::tagged<Base, Tags...>>;
 
template <size_t N, class Base, class... Tags>
struct tuple_element<N, experimental::ranges::tagged<Base, Tags...>>;
 
}
English 日本語 中文(简体) 中文(繁體)