Namespaces
Variants

Experimental library header <experimental/ranges/utility>

From cppreference.net
Standard library headers
Experimental library headers
Execution P2300
<experimental/execution>
Filesystem TS
<experimental/filesystem>
Parallelism TS (v1, v2)
experimental/algorithm
experimental/execution_policy
experimental/exception_list
experimental/numeric
<experimental/simd>
experimental/task_block
Library Fundamentals 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

Concurrency TS
experimental/atomic
experimental/barrier
experimental/future
experimental/latch
Ranges TS
Coroutines TS
experimental/coroutine
Networking TS
experimental/buffer
experimental/executor
experimental/internet
experimental/io_context
<experimental/net>
experimental/netfwd
experimental/socket
experimental/timer
Reflection TS
<experimental/reflect>

Cet en-tête fait partie de la bibliothèque ranges .

Table des matières

Composants utilitaires

Défini dans l'espace de noms std::experimental::ranges
échange la valeur de deux objets
(objet point de personnalisation)
remplace l'argument par une nouvelle valeur et retourne sa valeur précédente
(modèle de fonction)

Concepts des balises

Défini dans l'espace de noms std::experimental::ranges
spécifie qu'un type est un spécificateur de tag
(concept)
spécifie qu'un type représente un spécificateur de tag et son type d'élément
(concept)

Paires étiquetées

Défini dans l'espace de noms std::experimental::ranges
augmente un type de type tuple avec des accesseurs nommés
(modèle de classe)
modèle d'alias pour un tagged std::pair
(modèle d'alias)
fonction utilitaire pour créer un tagged_pair
(modèle de fonction)

Synopsis

namespace std { namespace experimental { namespace ranges { inline namespace v1 {
namespace {
  constexpr /* non spécifié */ swap = /* non spécifié */;
} 
template<MoveConstructible T, class U = T>
  requires Assignable<T&, U>
constexpr T exchange(T& obj, U&& new_val) noexcept(/* voir définition */);
template <class T>
concept bool TagSpecifier = /* voir définition */;
template <class F>
concept bool TaggedType = /* voir définition */;
template <class Base, TagSpecifier... Tags>
  requires sizeof...(Tags) <= std::tuple_size<Base>::value
struct tagged;
template <TaggedType T1, TaggedType T2>
using tagged_pair = /* voir définition */;
template <TagSpecifier Tag1, TagSpecifier Tag2, class T1, class T2>
constexpr /* voir définition */ 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...>>;
}