diff --git a/doc/Jamfile.v2 b/doc/Jamfile.v2 index 966fda2..5110408 100644 --- a/doc/Jamfile.v2 +++ b/doc/Jamfile.v2 @@ -36,8 +36,8 @@ doxygen autodoc \"BOOST_CONTAINER_NOEXCEPT=\" \\ \"BOOST_INTERPROCESS_ENABLE_MOVE_EMULATION(a)= \" \\ \"BOOST_RV_REF(a)=a &&\" \\ - \"BOOST_RV_REF_2_TEMPL_ARGS(a,b,c)=a &&\" \\ - \"BOOST_RV_REF_3_TEMPL_ARGS(a,b,c,d)=a &&\" \\ + \"BOOST_RV_REF_BEG=\" \\ + \"BOOST_RV_REF_END=&&\" \\ \"BOOST_FWD_REF(a)=a &&\"" "boost.doxygen.reftitle=Boost.Interprocess Reference" @@ -61,21 +61,21 @@ boostbook standalone autodoc pdf:boost.url.prefix=http://www.boost.org/doc/libs/release/doc/html # Build requirements go here: - + # on (or off) one turns on (or off) indexing: on - + # Turns on (or off) auto-index-verbose for diagnostic info. # This is highly recommended until you have got all the many details correct! on - + # Choose the indexing method (separately for html and PDF) - see manual. # Choose indexing method for PDFs: pdf:off - + # Choose indexing method for html: html:on - + # Set the name of the script file to use (index.idx is popular): $(here)/index.idx # Commands in the script file should all use RELATIVE PATHS diff --git a/doc/interprocess.qbk b/doc/interprocess.qbk index 2d0c583..de35fea 100644 --- a/doc/interprocess.qbk +++ b/doc/interprocess.qbk @@ -6713,8 +6713,8 @@ thank them: [section:release_notes_boost_1_54_00 Boost 1.54 Release] -* Fixed bug [@https://svn.boost.org/trac/boost/ticket/7484 #7484]. - +* Fixed bugs [@https://svn.boost.org/trac/boost/ticket/7484 #7484], + [@https://svn.boost.org/trac/boost/ticket/7598 #7598]. [endsect] [section:release_notes_boost_1_53_00 Boost 1.53 Release] diff --git a/include/boost/interprocess/smart_ptr/unique_ptr.hpp b/include/boost/interprocess/smart_ptr/unique_ptr.hpp index e6503e2..67e8c32 100644 --- a/include/boost/interprocess/smart_ptr/unique_ptr.hpp +++ b/include/boost/interprocess/smart_ptr/unique_ptr.hpp @@ -82,7 +82,9 @@ template 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 @@ class unique_ptr //! //!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 @@ class unique_ptr //! //!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 @@ class unique_ptr //!Returns: *this. //! //!Throws: nothing. - unique_ptr& operator=(int nat::*) + unique_ptr& operator=(nullptr_t) { reset(); return *this;