$include_dir="/home/hyper-archives/boost-commit/include"; include("$include_dir/msg-header.inc") ?>
From: daniel_james_at_[hidden]
Date: 2008-04-06 17:46:05
Author: danieljames
Date: 2008-04-06 17:46:04 EDT (Sun, 06 Apr 2008)
New Revision: 44085
URL: http://svn.boost.org/trac/boost/changeset/44085
Log:
Use normal references for the move members, reset the source buckets_ pointer to stop the buckets getting deleted, and remove a superflous pointer check.
Text files modified: 
   branches/unordered/trunk/boost/unordered/detail/hash_table_impl.hpp |     7 ++++---                                 
   1 files changed, 4 insertions(+), 3 deletions(-)
Modified: branches/unordered/trunk/boost/unordered/detail/hash_table_impl.hpp
==============================================================================
--- branches/unordered/trunk/boost/unordered/detail/hash_table_impl.hpp	(original)
+++ branches/unordered/trunk/boost/unordered/detail/hash_table_impl.hpp	2008-04-06 17:46:04 EDT (Sun, 06 Apr 2008)
@@ -368,7 +368,7 @@
             // no throw
             ~BOOST_UNORDERED_TABLE_DATA()
             {
-                if(buckets_) delete_buckets();
+                delete_buckets();
             }
 
             void create_buckets() {
@@ -427,10 +427,11 @@
             }
 
             // no throw
-            void move(BOOST_UNORDERED_TABLE_DATA&& other)
+            void move(BOOST_UNORDERED_TABLE_DATA& other)
             {
                 delete_buckets();
                 buckets_ = other.buckets_;
+                unordered_detail::reset(other.buckets_);
                 bucket_count_ = other.bucket_count_;
                 cached_begin_bucket_ = other.cached_begin_bucket_;
                 size_ = other.size_;
@@ -1262,7 +1263,7 @@
             // Can throw if hash or predicate object's copy constructor throws
             // or if allocators are unequal.
 
-            void move(BOOST_UNORDERED_TABLE&& x)
+            void move(BOOST_UNORDERED_TABLE& x)
             {
                 // This only effects the function objects that aren't in use
                 // so it is strongly exception safe, via. double buffering.