boost::dynamic_bitset::operator=

Move assignment operator.

Synopsis

Declared in <boost/dynamic_bitset/dynamic_bitset.hpp>

dynamic_bitset&
operator=(dynamic_bitset&& src) noexcept(/* see-below */);

Description

This bitset becomes the same as the bitset src. If the allocator propagates on move assignment, *this takes the allocator of src; otherwise, it keeps its own and, if the two allocators compare unequal, the blocks are copied into memory obtained from it, instead of being taken from src. (That is what std::vector, the buffer used when AllocatorOrContainer is an allocator, does; if AllocatorOrContainer is a container, it depends on the move assignment of that container.)

Throws

Nothing, unless the move assignment of buffer_type throws. For std::vector, that can only happen when the blocks are copied (see above): then, an allocation error is thrown if memory is exhausted. If an exception is thrown, *this is left empty. This operator is noexcept if the move assignment of buffer_type is.

Exception specification

This function is potentially-throwing unless std::is_nothrow_move_assignable<buffer_type>::value.

Return Value

*this.

Parameters

Name

Description

src

The object to move assign from

Postconditions

  • Unless &src == this (in which case the bitset is left unchanged), src.size() == 0 and src.num_blocks() == 0, i.e. src is left empty, and can be used like any other empty bitset.

Created with MrDocs