$include_dir="/home/hyper-archives/boost-commit/include"; include("$include_dir/msg-header.inc") ?>
From: nielsdekker_at_[hidden]
Date: 2008-08-28 14:37:45
Author: niels_dekker
Date: 2008-08-28 14:37:45 EDT (Thu, 28 Aug 2008)
New Revision: 48424
URL: http://svn.boost.org/trac/boost/changeset/48424
Log:
Added value_initialized::swap according to ticket #2243, as agreed with Fernando Cacciola  :-)
Text files modified: 
   trunk/boost/utility/value_init.hpp |    13 +++++++++++++                           
   1 files changed, 13 insertions(+), 0 deletions(-)
Modified: trunk/boost/utility/value_init.hpp
==============================================================================
--- trunk/boost/utility/value_init.hpp	(original)
+++ trunk/boost/utility/value_init.hpp	2008-08-28 14:37:45 EDT (Thu, 28 Aug 2008)
@@ -7,6 +7,7 @@
 // 21 Ago 2002 (Created) Fernando Cacciola
 // 24 Dec 2007 (Refactored and worked around various compiler bugs) Fernando Cacciola, Niels Dekker
 // 23 May 2008 (Fixed operator= const issue, added initialized_value) Niels Dekker, Fernando Cacciola
+// 21 Ago 2008 (Added swap) Niels Dekker, Fernando Cacciola
 //
 #ifndef BOOST_UTILITY_VALUE_INIT_21AGO2002_HPP
 #define BOOST_UTILITY_VALUE_INIT_21AGO2002_HPP
@@ -22,6 +23,7 @@
 #include <boost/static_assert.hpp>
 #include <boost/type_traits/cv_traits.hpp>
 #include <boost/type_traits/alignment_of.hpp>
+#include <boost/swap.hpp>
 #include <cstring>
 #include <new>
 
@@ -93,6 +95,11 @@
       return wrapper_address()->data;
     }
 
+    void swap(value_initialized & arg)
+    {
+      ::boost::swap( this->data(), arg.data() );
+    }
+
     operator T&() const { return this->data(); }
 
 } ;
@@ -110,6 +117,12 @@
   return x.data() ;
 }
 
+template<class T>
+void swap ( value_initialized<T> & lhs, value_initialized<T> & rhs )
+{
+  lhs.swap(rhs) ;
+}
+
 
 class initialized_value_t
 {