$include_dir="/home/hyper-archives/boost-commit/include"; include("$include_dir/msg-header.inc") ?>
Subject: [Boost-commit] svn:boost r68445 - trunk/boost/unordered
From: dnljms_at_[hidden]
Date: 2011-01-25 15:13:51
Author: danieljames
Date: 2011-01-25 15:13:43 EST (Tue, 25 Jan 2011)
New Revision: 68445
URL: http://svn.boost.org/trac/boost/changeset/68445
Log:
Add copy constructors and assignment operators when using rvalue references. Refs #5119.
Text files modified: 
   trunk/boost/unordered/unordered_map.hpp |    22 ++++++++++++++++++++++                  
   trunk/boost/unordered/unordered_set.hpp |    22 ++++++++++++++++++++++                  
   2 files changed, 44 insertions(+), 0 deletions(-)
Modified: trunk/boost/unordered/unordered_map.hpp
==============================================================================
--- trunk/boost/unordered/unordered_map.hpp	(original)
+++ trunk/boost/unordered/unordered_map.hpp	2011-01-25 15:13:43 EST (Tue, 25 Jan 2011)
@@ -160,6 +160,11 @@
         ~unordered_map() {}
 
 #if !defined(BOOST_NO_RVALUE_REFERENCES)
+        unordered_map(unordered_map const& other)
+          : table_(other.table_)
+        {
+        }
+
         unordered_map(unordered_map&& other)
           : table_(other.table_, boost::unordered_detail::move_tag())
         {
@@ -170,6 +175,12 @@
         {
         }
 
+        unordered_map& operator=(unordered_map const& x)
+        {
+            table_ = x.table_;
+            return *this;
+        }
+
         unordered_map& operator=(unordered_map&& x)
         {
             table_.move(x.table_);
@@ -705,6 +716,11 @@
         ~unordered_multimap() {}
 
 #if !defined(BOOST_NO_RVALUE_REFERENCES)
+        unordered_multimap(unordered_multimap const& other)
+          : table_(other.table_)
+        {
+        }
+
         unordered_multimap(unordered_multimap&& other)
           : table_(other.table_, boost::unordered_detail::move_tag())
         {
@@ -715,6 +731,12 @@
         {
         }
 
+        unordered_multimap& operator=(unordered_multimap const& x)
+        {
+            table_ = x.table_;
+            return *this;
+        }
+
         unordered_multimap& operator=(unordered_multimap&& x)
         {
             table_.move(x.table_);
Modified: trunk/boost/unordered/unordered_set.hpp
==============================================================================
--- trunk/boost/unordered/unordered_set.hpp	(original)
+++ trunk/boost/unordered/unordered_set.hpp	2011-01-25 15:13:43 EST (Tue, 25 Jan 2011)
@@ -154,6 +154,11 @@
         ~unordered_set() {}
 
 #if !defined(BOOST_NO_RVALUE_REFERENCES)
+        unordered_set(unordered_set const& other)
+          : table_(other.table_)
+        {
+        }
+
         unordered_set(unordered_set&& other)
           : table_(other.table_, boost::unordered_detail::move_tag())
         {
@@ -164,6 +169,12 @@
         {
         }
 
+        unordered_set& operator=(unordered_set const& x)
+        {
+            table_ = x.table_;
+            return *this;
+        }
+
         unordered_set& operator=(unordered_set&& x)
         {
             table_.move(x.table_);
@@ -651,6 +662,11 @@
         ~unordered_multiset() {}
 
 #if !defined(BOOST_NO_RVALUE_REFERENCES)
+        unordered_multiset(unordered_multiset const& other)
+          : table_(other.table_)
+        {
+        }
+
         unordered_multiset(unordered_multiset&& other)
           : table_(other.table_, boost::unordered_detail::move_tag())
         {
@@ -661,6 +677,12 @@
         {
         }
 
+        unordered_multiset& operator=(unordered_multiset const& x)
+        {
+            table_ = x.table_;
+            return *this;
+        }
+
         unordered_multiset& operator=(unordered_multiset&& x)
         {
             table_.move(x.table_);