--- C:/Data/Libs/LocalSVN/boost-trunk/boost/interprocess/smart_ptr/unique_ptr.hpp Sat Nov 24 08:48:24 2012 +++ C:/Data/Libs/boost/boost/interprocess/smart_ptr/unique_ptr.hpp Fri Jan 18 21:50:33 2013 @@ -82,7 +82,9 @@ class unique_ptr { /// @cond - struct nat {int for_bool_;}; + struct nat {int for_bool;}; + struct nat2 {int for_bool;}; + typedef int nat2::*nullptr_t; typedef typename ipcdetail::add_reference::type deleter_reference; typedef typename ipcdetail::add_reference::type deleter_const_reference; /// @endcond @@ -175,7 +177,7 @@ //! //!Throws: nothing. template - unique_ptr(BOOST_RV_REF_2_TEMPL_ARGS(unique_ptr, U, E) u, + unique_ptr(BOOST_RV_REF_BEG unique_ptr BOOST_RV_REF_END u, typename ipcdetail::enable_if_c< ipcdetail::is_convertible::pointer, pointer>::value && ipcdetail::is_convertible::value && @@ -230,7 +232,7 @@ //! //!Throws: nothing. template - unique_ptr& operator=(BOOST_RV_REF_2_TEMPL_ARGS(unique_ptr, U, E) u) + unique_ptr& operator=(BOOST_RV_REF_BEG unique_ptr BOOST_RV_REF_END u) { reset(u.release()); ptr_.second() = boost::move(u.get_deleter()); @@ -246,7 +248,7 @@ //!Returns: *this. //! //!Throws: nothing. - unique_ptr& operator=(int nat::*) + unique_ptr& operator=(nullptr_t) { reset(); return *this;