Namespaces
Variants

std::polymorphic<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 ( polymorphic & other ) noexcept ( /* ver más abajo */ ) ;
(desde C++26)

Intercambia los contenidos con los de other .

En la descripción a continuación, swap_allocators se refiere a std:: allocator_traits < Allocator > :: propagate_on_container_swap :: value .

Intercambia los estados de * this y other , intercambiando objetos poseídos o estados sin valor.

  • Si swap_allocators es true , entonces ejecuta using std:: swap ;
    swap ( alloc  , other. alloc  ) ;
    .
  • De lo contrario, los asignadores no se intercambian.

Si se satisface una de las siguientes condiciones, el comportamiento es indefinido:

  • swap_allocators es true , y Allocator no cumple con los requisitos de Swappable .
  • swap_allocators es false , y get_allocator ( ) == other. get_allocator ( ) es false .

Contenidos

Parámetros

otro - el objeto polymorphic con el cual intercambiar contenidos

Excepciones

noexcept especificación:
noexcept ( std:: allocator_traits < Allocator > :: propagate_on_container_swap :: value
|| std:: allocator_traits < Allocator > :: is_always_equal :: value )

Ejemplo

Véase también

especializa el algoritmo std::swap
(plantilla de función)