When allocators (like std::allocator) are always equal or implement propagate_on_container_move_assignment is true, according to the C++ standard a container supports types without a move constructor.
Many Boost.Container containers don't support this because several checks are done in runtime instead of compile time, provoking the instantiation of the move assignment operation. Compile-time dispatching should be used when appropriate with allocator attributes to support such non-movable types in Boost.Container.
When allocators (like
std::allocator
) are always equal or implementpropagate_on_container_move_assignment
is true, according to the C++ standard a container supports types without a move constructor.Many Boost.Container containers don't support this because several checks are done in runtime instead of compile time, provoking the instantiation of the move assignment operation. Compile-time dispatching should be used when appropriate with allocator attributes to support such non-movable types in Boost.Container.