diff --git a/include/boost/circular_buffer/base.hpp b/include/boost/circular_buffer/base.hpp index 3efa8de1..1dec2f21 100644 --- a/include/boost/circular_buffer/base.hpp +++ b/include/boost/circular_buffer/base.hpp @@ -30,6 +30,7 @@ #include #include #include +#include #include #include #include @@ -1399,11 +1400,11 @@ class circular_buffer */ void swap(circular_buffer& cb) BOOST_NOEXCEPT { swap_allocator(cb, is_stateless()); - std::swap(m_buff, cb.m_buff); - std::swap(m_end, cb.m_end); - std::swap(m_first, cb.m_first); - std::swap(m_last, cb.m_last); - std::swap(m_size, cb.m_size); + adl_move_swap(m_buff, cb.m_buff); + adl_move_swap(m_end, cb.m_end); + adl_move_swap(m_first, cb.m_first); + adl_move_swap(m_last, cb.m_last); + adl_move_swap(m_size, cb.m_size); #if BOOST_CB_ENABLE_DEBUG invalidate_all_iterators(); cb.invalidate_all_iterators(); @@ -2627,7 +2628,7 @@ class circular_buffer //! Specialized method for swapping the allocator. void swap_allocator(circular_buffer& cb, const false_type&) { - std::swap(m_alloc, cb.m_alloc); + adl_move_swap(m_alloc, cb.m_alloc); } //! Specialized assign method.