diff --git a/doc/container.qbk b/doc/container.qbk
index ee4cf42..65d4e90 100644
--- a/doc/container.qbk
+++ b/doc/container.qbk
@@ -439,7 +439,7 @@ not constructed on the fly when auxiliary memory is needed).
[section:scoped_allocator Scoped allocators]
C++11 improves stateful allocators with the introduction of
-[@http://http://en.cppreference.com/w/cpp/memory/scoped_allocator_adaptor `std::scoped_allocator_adaptor`]
+[@http://en.cppreference.com/w/cpp/memory/scoped_allocator_adaptor `std::scoped_allocator_adaptor`]
class template. `scoped_allocator_adaptor` is instantiated with one outer allocator and zero or more inner
allocators.
@@ -614,18 +614,30 @@ use [*Boost.Container]? There are several reasons for that:
[section:release_notes Release Notes]
+[section:release_notes_boost_1_51_00 Boost 1.51 Release]
+
+* Fixed bugs
+ [@https://svn.boost.org/trac/boost/ticket/6763 #6763],
+ [@https://svn.boost.org/trac/boost/ticket/6803 #6803],
+ [@https://svn.boost.org/trac/boost/ticket/7114 #7114],
+ [@https://svn.boost.org/trac/boost/ticket/7103 #7103].
+ [@https://svn.boost.org/trac/boost/ticket/7123 #7123],
+
+
+[endsect]
+
[section:release_notes_boost_1_50_00 Boost 1.50 Release]
* Added Scoped Allocator Model support.
* Fixed bugs
+ [@https://svn.boost.org/trac/boost/ticket/6533 #6533],
+ [@https://svn.boost.org/trac/boost/ticket/6536 #6536],
[@https://svn.boost.org/trac/boost/ticket/6566 #6566],
[@https://svn.boost.org/trac/boost/ticket/6575 #6575],
[@https://svn.boost.org/trac/boost/ticket/6606 #6606],
[@https://svn.boost.org/trac/boost/ticket/6615 #6615],
- [@https://svn.boost.org/trac/boost/ticket/6533 #6533],
- [@https://svn.boost.org/trac/boost/ticket/6536 #6536],
-
+
[endsect]
diff --git a/proj/to-do.txt b/proj/to-do.txt
index 1152393..072519c 100644
--- a/proj/to-do.txt
+++ b/proj/to-do.txt
@@ -36,4 +36,8 @@ check move if noexcept conditions in vector, deque and stable_vector
Detect always equal or unequal allocators at compiler time. operator== returns true_type or false_type
-change virtual functions with pointers to avoid template instantiation for every type
\ No newline at end of file
+change virtual functions with pointers to avoid template instantiation for every type
+
+Add hash for containers
+
+Add std:: hashing support
\ No newline at end of file
diff --git a/proj/vc7ide/container.vcproj b/proj/vc7ide/container.vcproj
index 50610a6..fcd9e8a 100644
--- a/proj/vc7ide/container.vcproj
+++ b/proj/vc7ide/container.vcproj
@@ -203,6 +203,9 @@
+
+
diff --git a/test/dummy_test_allocator.hpp b/test/dummy_test_allocator.hpp
index 332892e..dd0d872 100644
--- a/test/dummy_test_allocator.hpp
+++ b/test/dummy_test_allocator.hpp
@@ -111,7 +111,7 @@ class dummy_test_allocator
dummy_test_allocator(const dummy_test_allocator &)
{}
- pointer address(reference value)
+ pointer address(reference value)
{ return pointer(container_detail::addressof(value)); }
const_pointer address(const_reference value) const
diff --git a/test/expand_bwd_test_allocator.hpp b/test/expand_bwd_test_allocator.hpp
index fbab8c7..556a26c 100644
--- a/test/expand_bwd_test_allocator.hpp
+++ b/test/expand_bwd_test_allocator.hpp
@@ -108,7 +108,7 @@ class expand_bwd_test_allocator
{ return m_size; }
friend void swap(self_t &alloc1, self_t &alloc2)
- {
+ {
container_detail::do_swap(alloc1.mp_buffer, alloc2.mp_buffer);
container_detail::do_swap(alloc1.m_size, alloc2.m_size);
container_detail::do_swap(alloc1.m_offset, alloc2.m_offset);
diff --git a/test/flat_tree_test.cpp b/test/flat_tree_test.cpp
index ba3d450..c6738e2 100644
--- a/test/flat_tree_test.cpp
+++ b/test/flat_tree_test.cpp
@@ -26,7 +26,7 @@ using namespace boost::container;
namespace boost {
namespace container {
-/*
+
//Explicit instantiation to detect compilation errors
//flat_map
@@ -115,7 +115,7 @@ template class flat_multiset
, std::less
, std::allocator
>;
-*/
+
}} //boost::container
@@ -627,55 +627,3 @@ int main()
}
#include
-
-/*
-#include
-#include
-#include
-#include
-#include
-
-struct Request
-{
- Request() {};
-
- //Move semantics...
- Request(BOOST_RV_REF(Request) r) : rvals() //Move constructor
- {
- rvals.swap(r.rvals);
- };
-
- Request& operator=(BOOST_RV_REF(Request) r) //Move assignment
- {
- if (this != &r){
- rvals.swap(r.rvals);
- }
- return *this;
- };
-
- // Values I want to be moved, not copied.
- boost::container::vector rvals;
-
- private:
- // Mark this class movable but not copyable
- BOOST_MOVABLE_BUT_NOT_COPYABLE(Request)
-};
-
-typedef boost::container::flat_map Requests;
-//typedef boost::container::map Requests2;
-
-int
-main() {
- Requests req;
-
- Requests::value_type v;
- std::pair ret = req.insert( boost::move(v));
- //std::cout << "Insert success for req: " << ret.second << std::endl;
-
- //Requests2 req2;
- //std::pair ret2 = req2.insert( Requests2::value_type( 7, Request() ) );
- //std::cout << "Insert success for req2: " << ret2.second << std::endl;
-
- return 0;
-}
-*/
diff --git a/test/scoped_allocator_adaptor_test.cpp b/test/scoped_allocator_adaptor_test.cpp
index 6afca6e..66d86b0 100644
--- a/test/scoped_allocator_adaptor_test.cpp
+++ b/test/scoped_allocator_adaptor_test.cpp
@@ -8,20 +8,15 @@
//
//////////////////////////////////////////////////////////////////////////////
#include
-#include
+#include
#include
-#include
-#include
-#include
#include
#include
+#include
#include
-#include
-#include
using namespace boost::container;
-
template
class test_allocator
{
@@ -242,6 +237,12 @@ struct constructible_with_allocator_suffix
} //namespace boost {
+#include
+#include
+#include
+#include
+#include
+
int main()
{
typedef test_allocator, 0> OuterAlloc;
diff --git a/test/stable_vector_test.cpp b/test/stable_vector_test.cpp
index c69efe4..fe7d9e1 100644
--- a/test/stable_vector_test.cpp
+++ b/test/stable_vector_test.cpp
@@ -30,13 +30,13 @@ namespace boost {
namespace container {
//Explicit instantiation to detect compilation errors
-template class stable_vector >;
-template class stable_vector >;
-template class stable_vector >;
}}
diff --git a/test/util.hpp b/test/util.hpp
index 639c17b..9bfe1af 100644
--- a/test/util.hpp
+++ b/test/util.hpp
@@ -71,7 +71,7 @@ inline bool in_range(const boost::posix_time::ptime& xt, int secs=1)
boost::xtime xsecs(int secs)
{
boost::xtime ret;
- boost::xtime_get(&ret, boost::TIME_UTC_);
+ boost::xtime_get(&ret, boost::TIME_UTC);
ret.sec += secs;
return ret;
}