array::swap

Swap the contents.

Synopsis

void
swap(
    array& other);

Description

Exchanges the contents of this array with another array. Ownership of the respective boost::container::pmr::memory_resource objects is not transferred. If this == &other, this function call has no effect.

  • If *other.storage() == *this->storage() all iterators and references remain valid.

  • Otherwise, the contents are logically swapped by making copies, which can throw. In this case all iterators and references are invalidated.

Complexity

If *storage() == *other.storage(), then constant; otherwise linear in size() + other.size().

Exception Safety

No-throw guarantee if *storage() == *other.storage(). Otherwise strong guarantee. Calls to memory_resource::allocate may throw.

Parameters

Name Description

other

The value to swap with.