--- scoped_allocator.hpp.orig 2013-04-26 12:52:10.831629656 +0200 +++ scoped_allocator.hpp.marm 2013-05-08 12:04:04.696485352 +0200 @@ -648,6 +648,12 @@ public: + void swap(scoped_allocator_adaptor_base& other) + { + container_detail::do_swap(outer_allocator(),other.outer_allocator()); + m_inner.swap(other.inner_allocator()); + } + scoped_allocator_adaptor_base &operator= (BOOST_COPY_ASSIGN_REF(scoped_allocator_adaptor_base) other) { @@ -795,6 +801,12 @@ {} \ \ public: \ + void swap(scoped_allocator_adaptor_base& other) \ + { \ + container_detail::do_swap(outer_allocator(),other.outer_allocator()); \ + m_inner.swap(other.inner_allocator()); \ + } \ + \ scoped_allocator_adaptor_base &operator= \ (BOOST_COPY_ASSIGN_REF(scoped_allocator_adaptor_base) other) \ { \ @@ -916,6 +928,11 @@ {} public: + void swap(scoped_allocator_adaptor_base& other) + { + container_detail::do_swap(outer_allocator(),other.outer_allocator()); + } + scoped_allocator_adaptor_base &operator=(BOOST_COPY_ASSIGN_REF(scoped_allocator_adaptor_base) other) { outer_allocator_type::operator=(other.outer_allocator()); @@ -1142,6 +1159,11 @@ : base_type(::boost::move(other.base())) {} + void swap(scoped_allocator_adaptor& other) + { + base_type::swap(static_cast(other)); + } + scoped_allocator_adaptor &operator=(BOOST_COPY_ASSIGN_REF(scoped_allocator_adaptor) other) { base_type::operator=(static_cast(other)); @@ -1463,6 +1485,32 @@ return ! (a == b); } +template +inline void swap( + scoped_allocator_adaptor& a, + scoped_allocator_adaptor& b) +{ + a.swap(b); +} + }} // namespace boost { namespace container { #include