$include_dir="/home/hyper-archives/boost-commit/include"; include("$include_dir/msg-header.inc") ?>
From: daniel_james_at_[hidden]
Date: 2008-06-18 02:27:32
Author: danieljames
Date: 2008-06-18 02:27:31 EDT (Wed, 18 Jun 2008)
New Revision: 46470
URL: http://svn.boost.org/trac/boost/changeset/46470
Log:
Fix in an error in the unordered containers' emulated move constructors.
Merged revisions 45873-46468 via svnmerge from 
https://svn.boost.org/svn/boost/trunk
................
  r46410 | danieljames | 2008-06-15 18:03:37 +0100 (Sun, 15 Jun 2008) | 4 lines
  
  Fix in an error in the unordered containers' emulated move constructors. These
  aren't actually used, so I could probalby just remove 'move_from' for now (it's
  used in the full move library).
................
Properties modified: 
   branches/unordered/trunk/   (props changed)
Text files modified: 
   branches/unordered/trunk/boost/unordered_map.hpp                       |     4 ++--                                    
   branches/unordered/trunk/boost/unordered_set.hpp                       |     4 ++--                                    
   branches/unordered/trunk/libs/unordered/test/unordered/compile_map.cpp |    15 +++++++++++++++                         
   branches/unordered/trunk/libs/unordered/test/unordered/compile_set.cpp |    13 +++++++++++++                           
   4 files changed, 32 insertions(+), 4 deletions(-)
Modified: branches/unordered/trunk/boost/unordered_map.hpp
==============================================================================
--- branches/unordered/trunk/boost/unordered_map.hpp	(original)
+++ branches/unordered/trunk/boost/unordered_map.hpp	2008-06-18 02:27:31 EDT (Wed, 18 Jun 2008)
@@ -122,7 +122,7 @@
         }
 #else
         unordered_map(boost::unordered_detail::move_from<unordered_map<Key, T, Hash, Pred, Alloc> > other)
-            : base(other.base, boost::unordered_detail::move_tag())
+            : base(other.source.base, boost::unordered_detail::move_tag())
         {
         }
 
@@ -507,7 +507,7 @@
         }
 #else
         unordered_multimap(boost::unordered_detail::move_from<unordered_multimap<Key, T, Hash, Pred, Alloc> > other)
-            : base(other.base, boost::unordered_detail::move_tag())
+            : base(other.source.base, boost::unordered_detail::move_tag())
         {
         }
 
Modified: branches/unordered/trunk/boost/unordered_set.hpp
==============================================================================
--- branches/unordered/trunk/boost/unordered_set.hpp	(original)
+++ branches/unordered/trunk/boost/unordered_set.hpp	2008-06-18 02:27:31 EDT (Wed, 18 Jun 2008)
@@ -119,7 +119,7 @@
         }
 #else
         unordered_set(boost::unordered_detail::move_from<unordered_set<Value, Hash, Pred, Alloc> > other)
-            : base(other.base, boost::unordered_detail::move_tag())
+            : base(other.source.base, boost::unordered_detail::move_tag())
         {
         }
 
@@ -476,7 +476,7 @@
         }
 #else
         unordered_multiset(boost::unordered_detail::move_from<unordered_multiset<Value, Hash, Pred, Alloc> > other)
-            : base(other.base, boost::unordered_detail::move_tag())
+            : base(other.source.base, boost::unordered_detail::move_tag())
         {
         }
 
Modified: branches/unordered/trunk/libs/unordered/test/unordered/compile_map.cpp
==============================================================================
--- branches/unordered/trunk/libs/unordered/test/unordered/compile_map.cpp	(original)
+++ branches/unordered/trunk/libs/unordered/test/unordered/compile_map.cpp	2008-06-18 02:27:31 EDT (Wed, 18 Jun 2008)
@@ -13,6 +13,21 @@
 #include "../objects/minimal.hpp"
 #include "./compile_tests.hpp"
 
+// Explicit instantiation to catch compile-time errors
+
+template class boost::unordered_map<
+    test::minimal::assignable,
+    test::minimal::default_copy_constructible,
+    test::minimal::hash<test::minimal::assignable>,
+    test::minimal::equal_to<test::minimal::assignable>,
+    test::minimal::allocator<test::minimal::assignable> >;
+template class boost::unordered_multimap<
+    test::minimal::assignable,
+    test::minimal::copy_constructible,
+    test::minimal::hash<test::minimal::assignable>,
+    test::minimal::equal_to<test::minimal::assignable>,
+    test::minimal::allocator<test::minimal::assignable> >;
+
 UNORDERED_AUTO_TEST(test0)
 {
     typedef std::pair<test::minimal::assignable const,
Modified: branches/unordered/trunk/libs/unordered/test/unordered/compile_set.cpp
==============================================================================
--- branches/unordered/trunk/libs/unordered/test/unordered/compile_set.cpp	(original)
+++ branches/unordered/trunk/libs/unordered/test/unordered/compile_set.cpp	2008-06-18 02:27:31 EDT (Wed, 18 Jun 2008)
@@ -13,6 +13,19 @@
 #include "../objects/minimal.hpp"
 #include "./compile_tests.hpp"
 
+// Explicit instantiation to catch compile-time errors
+
+template class boost::unordered_set<
+    test::minimal::assignable,
+    test::minimal::hash<test::minimal::assignable>,
+    test::minimal::equal_to<test::minimal::assignable>,
+    test::minimal::allocator<test::minimal::assignable> >;
+template class boost::unordered_multiset<
+    test::minimal::assignable,
+    test::minimal::hash<test::minimal::assignable>,
+    test::minimal::equal_to<test::minimal::assignable>,
+    test::minimal::allocator<test::minimal::assignable> >;
+
 UNORDERED_AUTO_TEST(test0)
 {
     test::minimal::assignable assignable = test::minimal::assignable::create();