Namespaces
Variants

std::indirect<T, Allocator>:: swap

From cppreference.net
Memory management library
( exposition only* )
Allocators
Uninitialized memory algorithms
Constrained uninitialized memory algorithms
Memory resources
Uninitialized storage (until C++20)
( until C++20* )
( until C++20* )
( until C++20* )

Garbage collector support (until C++23)
(C++11) (until C++23)
(C++11) (until C++23)
(C++11) (until C++23)
(C++11) (until C++23)
(C++11) (until C++23)
(C++11) (until C++23)
constexpr void swap ( indirect & other ) noexcept ( /* voir ci-dessous */ ) ;
(depuis C++26)

Échange le contenu avec celui de other .

Dans la description ci-dessous, swap_allocators fait référence à std:: allocator_traits < Allocator > :: propagate_on_container_swap :: value .

Échange les états de * this et other , en échangeant les objets possédés ou les états sans valeur.

  • Si swap_allocators est true , alors exécute using std:: swap ;
    swap ( alloc  , other. alloc  ) ;
    .
  • Sinon, les allocateurs ne sont pas échangés.

Si l'une des conditions suivantes est satisfaite, le comportement est indéfini :

  • swap_allocators est true , et Allocator ne satisfait pas aux exigences de Swappable .
  • swap_allocators est false , et get_allocator ( ) == other. get_allocator ( ) est false .

Table des matières

Paramètres

autre - l'objet indirect avec lequel échanger le contenu

Exceptions

noexcept spécification :
noexcept ( std:: allocator_traits < Allocator > :: propagate_on_container_swap :: value
|| std:: allocator_traits < Allocator > :: is_always_equal :: value )

Exemple

Voir aussi

spécialise l'algorithme std::swap
(modèle de fonction)