std::indirect<T, Allocator>:: swap
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
constexpr
void
swap
(
indirect
&
other
)
noexcept
(
/* см. ниже */
)
;
|
(начиная с C++26) | |
Обменивает содержимое с содержимым other .
В приведенном ниже описании swap_allocators относится к std:: allocator_traits < Allocator > :: propagate_on_container_swap :: value .
Обменивает состояниями * this и other , заменяя владеемые объекты или состояния без значения.
-
Если
swap_allocators
равно
true
, то выполняется
using
std::
swap
;
swap (alloc , other.alloc ) ; . - В противном случае аллокаторы не обмениваются.
Если выполняется одно из следующих условий, поведение не определено:
-
swap_allocators
имеет значение
true
, и
Allocatorне удовлетворяет требованиям Swappable . - swap_allocators имеет значение false , и get_allocator ( ) == other. get_allocator ( ) имеет значение false .
Содержание |
Параметры
| other | - |
объект
indirect
для обмена содержимым
|
Исключения
|| std:: allocator_traits < Allocator > :: is_always_equal :: value )
Пример
|
Этот раздел не завершён
Причина: отсутствует пример |
Смотрите также
|
(C++26)
|
специализирует алгоритм
std::swap
(шаблон функции) |