From a7b88d804c824566bcf18d779ee4eafd8c87c082 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ion=20Gazta=C3=B1aga?= Date: Thu, 12 Sep 2013 22:00:51 +0000 Subject: [PATCH] Fixes #9009 [SVN r85660] --- doc/container.qbk | 1 + include/boost/container/deque.hpp | 2 +- include/boost/container/flat_set.hpp | 4 ++-- include/boost/container/list.hpp | 2 +- include/boost/container/set.hpp | 4 ++-- include/boost/container/slist.hpp | 4 ++-- include/boost/container/stable_vector.hpp | 2 +- include/boost/container/vector.hpp | 6 +++--- 8 files changed, 13 insertions(+), 12 deletions(-) diff --git a/doc/container.qbk b/doc/container.qbk index 66c6c3d..1238ce8 100644 --- a/doc/container.qbk +++ b/doc/container.qbk @@ -720,6 +720,7 @@ use [*Boost.Container]? There are several reasons for that: * Fixed bugs [@https://svn.boost.org/trac/boost/ticket/8269 #8269], [@https://svn.boost.org/trac/boost/ticket/8473 #8473], [@https://svn.boost.org/trac/boost/ticket/8892 #8892], + [@https://svn.boost.org/trac/boost/ticket/9009 #9009], [@https://svn.boost.org/trac/boost/ticket/9064 #9064], [@https://svn.boost.org/trac/boost/ticket/9092 #9092], [@https://svn.boost.org/trac/boost/ticket/9108 #9108]. diff --git a/include/boost/container/deque.hpp b/include/boost/container/deque.hpp index 0fa5196..85649ff 100644 --- a/include/boost/container/deque.hpp +++ b/include/boost/container/deque.hpp @@ -1301,7 +1301,7 @@ class deque : protected deque_base //! Linear time otherwise. iterator insert(const_iterator position, T &&x); #else - BOOST_MOVE_CONVERSION_AWARE_CATCH_1ARG(insert, T, iterator, priv_insert, const_iterator) + BOOST_MOVE_CONVERSION_AWARE_CATCH_1ARG(insert, T, iterator, priv_insert, const_iterator, const_iterator) #endif //! Requires: pos must be a valid iterator of *this. diff --git a/include/boost/container/flat_set.hpp b/include/boost/container/flat_set.hpp index eed7dda..5501ed5 100644 --- a/include/boost/container/flat_set.hpp +++ b/include/boost/container/flat_set.hpp @@ -512,7 +512,7 @@ class flat_set //! Note: If an element is inserted it might invalidate elements. iterator insert(const_iterator position, value_type &&x); #else - BOOST_MOVE_CONVERSION_AWARE_CATCH_1ARG(insert, value_type, iterator, this->priv_insert, const_iterator) + BOOST_MOVE_CONVERSION_AWARE_CATCH_1ARG(insert, value_type, iterator, this->priv_insert, const_iterator, const_iterator) #endif //! Requires: first, last are not iterators into *this. @@ -1189,7 +1189,7 @@ class flat_multiset //! Note: If an element is inserted it might invalidate elements. iterator insert(const_iterator position, value_type &&x); #else - BOOST_MOVE_CONVERSION_AWARE_CATCH_1ARG(insert, value_type, iterator, this->priv_insert, const_iterator) + BOOST_MOVE_CONVERSION_AWARE_CATCH_1ARG(insert, value_type, iterator, this->priv_insert, const_iterator, const_iterator) #endif //! Requires: first, last are not iterators into *this. diff --git a/include/boost/container/list.hpp b/include/boost/container/list.hpp index e613f4a..2a785c2 100644 --- a/include/boost/container/list.hpp +++ b/include/boost/container/list.hpp @@ -777,7 +777,7 @@ class list //! Complexity: Amortized constant time. iterator insert(const_iterator position, T &&x); #else - BOOST_MOVE_CONVERSION_AWARE_CATCH_1ARG(insert, T, iterator, priv_insert, const_iterator) + BOOST_MOVE_CONVERSION_AWARE_CATCH_1ARG(insert, T, iterator, priv_insert, const_iterator, const_iterator) #endif //! Requires: p must be a valid iterator of *this. diff --git a/include/boost/container/set.hpp b/include/boost/container/set.hpp index 7808859..508ddc3 100644 --- a/include/boost/container/set.hpp +++ b/include/boost/container/set.hpp @@ -457,7 +457,7 @@ class set //! Complexity: Logarithmic. iterator insert(const_iterator position, value_type &&x); #else - BOOST_MOVE_CONVERSION_AWARE_CATCH_1ARG(insert, value_type, iterator, this->priv_insert, const_iterator) + BOOST_MOVE_CONVERSION_AWARE_CATCH_1ARG(insert, value_type, iterator, this->priv_insert, const_iterator, const_iterator) #endif //! Requires: first, last are not iterators into *this. @@ -1077,7 +1077,7 @@ class multiset //! is inserted right before p. iterator insert(const_iterator position, value_type &&x); #else - BOOST_MOVE_CONVERSION_AWARE_CATCH_1ARG(insert, value_type, iterator, this->priv_insert, const_iterator) + BOOST_MOVE_CONVERSION_AWARE_CATCH_1ARG(insert, value_type, iterator, this->priv_insert, const_iterator, const_iterator) #endif //! Requires: first, last are not iterators into *this. diff --git a/include/boost/container/slist.hpp b/include/boost/container/slist.hpp index e0aa95f..6accfcc 100644 --- a/include/boost/container/slist.hpp +++ b/include/boost/container/slist.hpp @@ -753,7 +753,7 @@ class slist //! previous values. iterator insert_after(const_iterator prev_pos, T &&x); #else - BOOST_MOVE_CONVERSION_AWARE_CATCH_1ARG(insert_after, T, iterator, priv_insert_after, const_iterator) + BOOST_MOVE_CONVERSION_AWARE_CATCH_1ARG(insert_after, T, iterator, priv_insert_after, const_iterator, const_iterator) #endif //! Requires: prev_pos must be a valid iterator of *this. @@ -1266,7 +1266,7 @@ class slist //! Complexity: Linear to the elements before p. iterator insert(const_iterator prev_pos, T &&x); #else - BOOST_MOVE_CONVERSION_AWARE_CATCH_1ARG(insert, T, iterator, priv_insert, const_iterator) + BOOST_MOVE_CONVERSION_AWARE_CATCH_1ARG(insert, T, iterator, priv_insert, const_iterator, const_iterator) #endif //! Requires: p must be a valid iterator of *this. diff --git a/include/boost/container/stable_vector.hpp b/include/boost/container/stable_vector.hpp index c5353f3..1e6f190 100644 --- a/include/boost/container/stable_vector.hpp +++ b/include/boost/container/stable_vector.hpp @@ -1306,7 +1306,7 @@ class stable_vector //! Linear time otherwise. iterator insert(const_iterator position, T &&x); #else - BOOST_MOVE_CONVERSION_AWARE_CATCH_1ARG(insert, T, iterator, priv_insert, const_iterator) + BOOST_MOVE_CONVERSION_AWARE_CATCH_1ARG(insert, T, iterator, priv_insert, const_iterator, const_iterator) #endif //! Requires: pos must be a valid iterator of *this. diff --git a/include/boost/container/vector.hpp b/include/boost/container/vector.hpp index 848364f..25f18c1 100644 --- a/include/boost/container/vector.hpp +++ b/include/boost/container/vector.hpp @@ -1347,7 +1347,7 @@ class vector //! Linear time otherwise. iterator insert(const_iterator position, T &&x); #else - BOOST_MOVE_CONVERSION_AWARE_CATCH_1ARG(insert, T, iterator, priv_insert, const_iterator) + BOOST_MOVE_CONVERSION_AWARE_CATCH_1ARG(insert, T, iterator, priv_insert, const_iterator, const_iterator) #endif //! Requires: p must be a valid iterator of *this. @@ -1636,7 +1636,7 @@ class vector ( this->m_holder.alloc(), raw_beg, sz, container_detail::to_raw_pointer(p) ); if(this->m_holder.capacity()){ if(!value_traits::trivial_dctr_after_move) - boost::container::destroy_alloc_n(this->m_holder.alloc(), raw_beg, sz); + boost::container::destroy_alloc_n(this->m_holder.alloc(), raw_beg, sz); this->m_holder.deallocate(this->m_holder.start(), this->m_holder.capacity()); } this->m_holder.start(p); @@ -1690,7 +1690,7 @@ class vector ( this->m_holder.alloc(), raw_beg, sz, container_detail::to_raw_pointer(ret.first) ); if(this->m_holder.capacity()){ if(!value_traits::trivial_dctr_after_move) - boost::container::destroy_alloc_n(this->m_holder.alloc(), raw_beg, sz); + boost::container::destroy_alloc_n(this->m_holder.alloc(), raw_beg, sz); this->m_holder.deallocate(this->m_holder.start(), this->m_holder.capacity()); } this->m_holder.start(ret.first);