Namespaces
Variants

En-tête de bibliothèque expérimentale <experimental/ranges/type_traits>

Depuis fr.cppreference.net
 
 
En-têtes de la bibliothèque standard
 
En-têtes de bibliothèque expérimentale
Exécution P2300
<experimental/execution>
TS de système de fichiers
<experimental/filesystem>
TS de parallélisme (v1, v2)
experimental/algorithm
experimental/execution_policy
experimental/exception_list
experimental/numeric
<experimental/simd>
experimental/task_block
TS de fondamentaux de bibliothèque (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 de concurrence
experimental/atomic
experimental/barrier
experimental/future
experimental/latch
TS des plages
TS des coroutines
experimental/coroutine
TS de réseautage
experimental/buffer
experimental/executor
experimental/internet
experimental/io_context
<experimental/net>
experimental/netfwd
experimental/socket
experimental/timer
TS de réflexion
<experimental/reflect>
 

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

Métaprogrammation et traits de type

Défini dans l'espace de noms std::experimental::ranges
vérifie si des objets d'un type peuvent être échangés avec des objets de même type ou de type différent
(modèle de classe)
détermine le type de référence commun d'un ensemble de types
(modèle de classe)
détermine le type commun d'un ensemble de types
(modèle de classe)

Synopsis

namespace std { namespace experimental { namespace ranges { inline namespace v1 {
template <class T, class U> struct is_swappable_with;
template <class T> struct is_swappable;
template <class T, class U> struct is_nothrow_swappable_with;
template <class T> struct is_nothrow_swappable;
template <class T, class U> constexpr bool is_swappable_with_v
  = is_swappable_with<T, U>::value;
template <class T> constexpr bool is_swappable_v
  = is_swappable<T>::value;
template <class T, class U> constexpr bool is_nothrow_swappable_with_v
  = is_nothrow_swappable_with<T, U>::value;
template <class T> constexpr bool is_nothrow_swappable_v
  = is_nothrow_swappable<T>::value;
template <class... T> struct common_type;
template <class T, class U, template <class> class TQual, template <class> class UQual>
  struct basic_common_reference { };
template <class... T> struct common_reference;
template <class... T>
  using common_type_t = typename common_type<T...>::type;
template <class... T>
  using common_reference_t = typename common_reference<T...>::type;
}}}}