|
Boost : |
From: Markus Schöpflin (markus.schoepflin_at_[hidden])
Date: 2007-09-28 04:14:53
Hello,
attached patch makes the space optimized test pass for this platform. It
adds two missing fwd declarations to details.hpp and a workaround to
space_optimized.hpp.
OK to commit?
Markus
Index: circular_buffer/space_optimized.hpp
===================================================================
--- circular_buffer/space_optimized.hpp (revision 39572)
+++ circular_buffer/space_optimized.hpp (working copy)
@@ -14,6 +14,7 @@
#endif
#include <boost/type_traits/is_same.hpp>
+#include <boost/detail/workaround.hpp>
namespace boost {
@@ -1234,7 +1235,11 @@
ensure_reserve(new_capacity, new_size));
}
#if BOOST_CB_ENABLE_DEBUG
+# if BOOST_WORKAROUND(__DECCXX_VER, BOOST_TESTED_AT(70190006))
+ this->invalidate_iterators_except(end());
+# else
invalidate_iterators_except(end());
+# endif
#endif
}
@@ -1254,7 +1259,11 @@
circular_buffer<T, Alloc>::set_capacity(
ensure_reserve(new_capacity, size()));
#if BOOST_CB_ENABLE_DEBUG
+# if BOOST_WORKAROUND(__DECCXX_VER, BOOST_TESTED_AT(70190006))
+ this->invalidate_iterators_except(end());
+# else
invalidate_iterators_except(end());
+# endif
#endif
}
Index: circular_buffer/details.hpp
===================================================================
--- circular_buffer/details.hpp (revision 39572)
+++ circular_buffer/details.hpp (working copy)
@@ -24,6 +24,14 @@
template <class Traits> struct nonconst_traits;
+template<class ForwardIterator, class Diff, class T, class Alloc>
+void uninitialized_fill_n_with_alloc(
+ ForwardIterator first, Diff n, const T& item, Alloc& alloc);
+
+template<class InputIterator, class ForwardIterator, class Alloc>
+ForwardIterator uninitialized_copy_with_alloc(
+ InputIterator first, InputIterator last, ForwardIterator dest, Alloc& alloc);
+
/*!
\struct const_traits
\brief Defines the data types for a const iterator.
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk