diff options
Diffstat (limited to 'doc/html/move/reference.html')
-rw-r--r-- | doc/html/move/reference.html | 248 |
1 files changed, 228 insertions, 20 deletions
diff --git a/doc/html/move/reference.html b/doc/html/move/reference.html index 33d0b4ae89..01f59e407e 100644 --- a/doc/html/move/reference.html +++ b/doc/html/move/reference.html @@ -3,11 +3,11 @@ <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> <title>Reference</title> <link rel="stylesheet" href="../../../doc/src/boostbook.css" type="text/css"> -<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> +<meta name="generator" content="DocBook XSL Stylesheets V1.78.1"> <link rel="home" href="../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> -<link rel="up" href="../move.html" title="Chapter 16. Boost.Move"> +<link rel="up" href="../move.html" title="Chapter 19. Boost.Move"> <link rel="prev" href="release_notes.html" title="Release Notes"> -<link rel="next" href="../boost/has_nothrow_move.html" title="Struct template has_nothrow_move"> +<link rel="next" href="../boost/move_idp105408384.html" title="Function template move"> </head> <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> <table cellpadding="2" width="100%"><tr> @@ -20,53 +20,261 @@ </tr></table> <hr> <div class="spirit-nav"> -<a accesskey="p" href="release_notes.html"><img src="../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../move.html"><img src="../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../boost/has_nothrow_move.html"><img src="../../../doc/src/images/next.png" alt="Next"></a> +<a accesskey="p" href="release_notes.html"><img src="../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../move.html"><img src="../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../boost/move_idp105408384.html"><img src="../../../doc/src/images/next.png" alt="Next"></a> </div> <div class="section"> <div class="titlepage"><div><div><h2 class="title" style="clear: both"> <a name="move.reference"></a>Reference</h2></div></div></div> -<div class="toc"><dl><dt><span class="section"><a href="reference.html#header.boost.move.move_hpp">Header <boost/move/move.hpp></a></span></dt></dl></div> +<div class="toc"><dl class="toc"> +<dt><span class="section"><a href="reference.html#header.boost.move.algorithm_hpp">Header <boost/move/algorithm.hpp></a></span></dt> +<dt><span class="section"><a href="reference.html#header.boost.move.core_hpp">Header <boost/move/core.hpp></a></span></dt> +<dt><span class="section"><a href="reference.html#header.boost.move.default_delete_hpp">Header <boost/move/default_delete.hpp></a></span></dt> +<dt><span class="section"><a href="reference.html#header.boost.move.iterator_hpp">Header <boost/move/iterator.hpp></a></span></dt> +<dt><span class="section"><a href="reference.html#header.boost.move.make_unique_hpp">Header <boost/move/make_unique.hpp></a></span></dt> +<dt><span class="section"><a href="reference.html#header.boost.move.move_hpp">Header <boost/move/move.hpp></a></span></dt> +<dt><span class="section"><a href="reference.html#header.boost.move.traits_hpp">Header <boost/move/traits.hpp></a></span></dt> +<dt><span class="section"><a href="reference.html#header.boost.move.unique_ptr_hpp">Header <boost/move/unique_ptr.hpp></a></span></dt> +<dt><span class="section"><a href="reference.html#header.boost.move.utility_hpp">Header <boost/move/utility.hpp></a></span></dt> +<dt><span class="section"><a href="reference.html#header.boost.move.utility_core_hpp">Header <boost/move/utility_core.hpp></a></span></dt> +</dl></div> <div class="section"> <div class="titlepage"><div><div><h3 class="title"> -<a name="header.boost.move.move_hpp"></a>Header <<a href="../../../boost/move/move.hpp" target="_top">boost/move/move.hpp</a>></h3></div></div></div> +<a name="header.boost.move.algorithm_hpp"></a>Header <<a href="../../../boost/move/algorithm.hpp" target="_top">boost/move/algorithm.hpp</a>></h3></div></div></div> +<pre class="synopsis"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> I<span class="special">,</span> <span class="keyword">typename</span> O<span class="special">></span> <span class="identifier">O</span> <a class="link" href="../boost/move_idp105408384.html" title="Function template move"><span class="identifier">move</span></a><span class="special">(</span><span class="identifier">I</span><span class="special">,</span> <span class="identifier">I</span><span class="special">,</span> <span class="identifier">O</span><span class="special">)</span><span class="special">;</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> I<span class="special">,</span> <span class="keyword">typename</span> O<span class="special">></span> <span class="identifier">O</span> <a class="link" href="../boost/move_backward.html" title="Function template move_backward"><span class="identifier">move_backward</span></a><span class="special">(</span><span class="identifier">I</span><span class="special">,</span> <span class="identifier">I</span><span class="special">,</span> <span class="identifier">O</span><span class="special">)</span><span class="special">;</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> I<span class="special">,</span> <span class="keyword">typename</span> F<span class="special">></span> <span class="identifier">F</span> <a class="link" href="../boost/uninitialized_move.html" title="Function template uninitialized_move"><span class="identifier">uninitialized_move</span></a><span class="special">(</span><span class="identifier">I</span><span class="special">,</span> <span class="identifier">I</span><span class="special">,</span> <span class="identifier">F</span><span class="special">)</span><span class="special">;</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> I<span class="special">,</span> <span class="keyword">typename</span> F<span class="special">></span> <span class="identifier">F</span> <a class="link" href="../boost/uninitialized_copy_or_move.html" title="Function template uninitialized_copy_or_move"><span class="identifier">uninitialized_copy_or_move</span></a><span class="special">(</span><span class="identifier">I</span><span class="special">,</span> <span class="identifier">I</span><span class="special">,</span> <span class="identifier">F</span><span class="special">)</span><span class="special">;</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> I<span class="special">,</span> <span class="keyword">typename</span> F<span class="special">></span> <span class="identifier">F</span> <a class="link" href="../boost/copy_or_move.html" title="Function template copy_or_move"><span class="identifier">copy_or_move</span></a><span class="special">(</span><span class="identifier">I</span><span class="special">,</span> <span class="identifier">I</span><span class="special">,</span> <span class="identifier">F</span><span class="special">)</span><span class="special">;</span> +<span class="special">}</span></pre> +</div> +<div class="section"> +<div class="titlepage"><div><div><h3 class="title"> +<a name="header.boost.move.core_hpp"></a>Header <<a href="../../../boost/move/core.hpp" target="_top">boost/move/core.hpp</a>></h3></div></div></div> +<p>This header implements macros to define movable classes and move-aware functions </p> <pre class="synopsis"> +<a class="link" href="../BOOST_MOVE_IMPL_NO_COPY_CTOR_OR_ASSIGN.html" title="Macro BOOST_MOVE_IMPL_NO_COPY_CTOR_OR_ASSIGN">BOOST_MOVE_IMPL_NO_COPY_CTOR_OR_ASSIGN</a>(TYPE) <a class="link" href="../BOOST_MOVABLE_BUT_NOT_COPYABLE.html" title="Macro BOOST_MOVABLE_BUT_NOT_COPYABLE">BOOST_MOVABLE_BUT_NOT_COPYABLE</a>(TYPE) <a class="link" href="../BOOST_COPYABLE_AND_MOVABLE.html" title="Macro BOOST_COPYABLE_AND_MOVABLE">BOOST_COPYABLE_AND_MOVABLE</a>(TYPE) -<a class="link" href="../BOOST_COPYABLE_AND_MOVABLE_ALT.html" title="Macro BOOST_COPYABLE_AND_MOVABLE_ALT">BOOST_COPYABLE_AND_MOVABLE_ALT</a>(TYPE) <a class="link" href="../BOOST_RV_REF.html" title="Macro BOOST_RV_REF">BOOST_RV_REF</a>(TYPE) <a class="link" href="../BOOST_RV_REF_BEG.html" title="Macro BOOST_RV_REF_BEG">BOOST_RV_REF_BEG</a> <a class="link" href="../BOOST_RV_REF_END.html" title="Macro BOOST_RV_REF_END">BOOST_RV_REF_END</a> <a class="link" href="../BOOST_COPY_ASSIGN_REF.html" title="Macro BOOST_COPY_ASSIGN_REF">BOOST_COPY_ASSIGN_REF</a>(TYPE) -<a class="link" href="../BOOST_FWD_REF.html" title="Macro BOOST_FWD_REF">BOOST_FWD_REF</a>(TYPE)</pre> +<a class="link" href="../BOOST_FWD_REF.html" title="Macro BOOST_FWD_REF">BOOST_FWD_REF</a>(TYPE) +<a class="link" href="../BOOST_MOVE_RET.html" title="Macro BOOST_MOVE_RET">BOOST_MOVE_RET</a>(RET_TYPE, REF)</pre> <pre class="synopsis"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span> - <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">></span> <span class="keyword">struct</span> <a class="link" href="../boost/has_nothrow_move.html" title="Struct template has_nothrow_move">has_nothrow_move</a><span class="special">;</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">></span> <span class="keyword">struct</span> <a class="link" href="../boost/has_move_emulation_enabled.html" title="Struct template has_move_emulation_enabled">has_move_emulation_enabled</a><span class="special">;</span> +<span class="special">}</span></pre> +</div> +<div class="section"> +<div class="titlepage"><div><div><h3 class="title"> +<a name="header.boost.move.default_delete_hpp"></a>Header <<a href="../../../boost/move/default_delete.hpp" target="_top">boost/move/default_delete.hpp</a>></h3></div></div></div> +<p>Describes the default deleter (destruction policy) of <code class="computeroutput">unique_ptr</code>: <code class="computeroutput">default_delete</code>. </p> +<pre class="synopsis"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span> + <span class="keyword">namespace</span> <span class="identifier">move_upd</span> <span class="special">{</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> U<span class="special">,</span> <span class="keyword">typename</span> T<span class="special">></span> <span class="keyword">struct</span> <a class="link" href="../boost/move_upd/def_del_compatible_cond.html" title="Struct template def_del_compatible_cond">def_del_compatible_cond</a><span class="special">;</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> U<span class="special">,</span> <span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">typename</span> Type <span class="special">=</span> <span class="identifier">bmupmu</span><span class="special">::</span><span class="identifier">nat</span><span class="special">></span> + <span class="keyword">struct</span> <a class="link" href="../boost/move_upd/enable_def_del.html" title="Struct template enable_def_del">enable_def_del</a><span class="special">;</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> U<span class="special">,</span> <span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">typename</span> Type <span class="special">=</span> <span class="identifier">bmupmu</span><span class="special">::</span><span class="identifier">nat</span><span class="special">></span> + <span class="keyword">struct</span> <a class="link" href="../boost/move_upd/enable_defdel_call.html" title="Struct template enable_defdel_call">enable_defdel_call</a><span class="special">;</span> + <span class="keyword">struct</span> <a class="link" href="../boost/move_upd/bool_conversion.html" title="Struct bool_conversion">bool_conversion</a><span class="special">;</span> + + <span class="keyword">typedef</span> <span class="keyword">int</span> <span class="identifier">bool_conversion</span><span class="special">::</span><span class="special">*</span> <a name="boost.move_upd.explicit_bool_arg"></a><span class="identifier">explicit_bool_arg</span><span class="special">;</span> + <span class="keyword">decltype</span><span class="special">(</span><span class="keyword">nullptr</span><span class="special">)</span> <span class="keyword">typedef</span> <a class="link" href="../boost/move_upd/nullptr_type.html" title="Global nullptr_type">nullptr_type</a><span class="special">;</span> + <span class="special">}</span> + <span class="keyword">namespace</span> <span class="identifier">movelib</span> <span class="special">{</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">></span> <span class="keyword">struct</span> <a class="link" href="../boost/movelib/default_delete.html" title="Struct template default_delete">default_delete</a><span class="special">;</span> + <span class="special">}</span> +<span class="special">}</span></pre> +</div> +<div class="section"> +<div class="titlepage"><div><div><h3 class="title"> +<a name="header.boost.move.iterator_hpp"></a>Header <<a href="../../../boost/move/iterator.hpp" target="_top">boost/move/iterator.hpp</a>></h3></div></div></div> +<pre class="synopsis"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span> <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> It<span class="special">></span> <span class="keyword">class</span> <a class="link" href="../boost/move_iterator.html" title="Class template move_iterator">move_iterator</a><span class="special">;</span> <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> C<span class="special">></span> <span class="keyword">class</span> <a class="link" href="../boost/back_move_insert_iterator.html" title="Class template back_move_insert_iterator">back_move_insert_iterator</a><span class="special">;</span> <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> C<span class="special">></span> <span class="keyword">class</span> <a class="link" href="../boost/front_move_insert_iterator.html" title="Class template front_move_insert_iterator">front_move_insert_iterator</a><span class="special">;</span> <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> C<span class="special">></span> <span class="keyword">class</span> <a class="link" href="../boost/move_insert_iterator.html" title="Class template move_insert_iterator">move_insert_iterator</a><span class="special">;</span> - - <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">></span> <span class="keyword">struct</span> <a class="link" href="../boost/has_trivial_dest_id1108844.html" title="Struct template has_trivial_destructor_after_move">has_trivial_destructor_after_move</a><span class="special">;</span> - <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">></span> <span class="identifier">rvalue_reference</span> <a class="link" href="../boost/move_id1108876.html" title="Function template move"><span class="identifier">move</span></a><span class="special">(</span><span class="identifier">input_reference</span><span class="special">)</span><span class="special">;</span> - <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">></span> <span class="identifier">output_reference</span> <a class="link" href="../boost/forward.html" title="Function template forward"><span class="identifier">forward</span></a><span class="special">(</span><span class="identifier">input_reference</span><span class="special">)</span><span class="special">;</span> <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> It<span class="special">></span> <a class="link" href="../boost/move_iterator.html" title="Class template move_iterator">move_iterator</a><span class="special"><</span> <span class="identifier">It</span> <span class="special">></span> <a class="link" href="../boost/make_move_iterator.html" title="Function template make_move_iterator"><span class="identifier">make_move_iterator</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">It</span> <span class="special">&</span><span class="special">)</span><span class="special">;</span> <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> C<span class="special">></span> <a class="link" href="../boost/back_move_insert_iterator.html" title="Class template back_move_insert_iterator">back_move_insert_iterator</a><span class="special"><</span> <span class="identifier">C</span> <span class="special">></span> <a class="link" href="../boost/back_move_inserter.html" title="Function template back_move_inserter"><span class="identifier">back_move_inserter</span></a><span class="special">(</span><span class="identifier">C</span> <span class="special">&</span><span class="special">)</span><span class="special">;</span> <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> C<span class="special">></span> <a class="link" href="../boost/front_move_insert_iterator.html" title="Class template front_move_insert_iterator">front_move_insert_iterator</a><span class="special"><</span> <span class="identifier">C</span> <span class="special">></span> <a class="link" href="../boost/front_move_inserter.html" title="Function template front_move_inserter"><span class="identifier">front_move_inserter</span></a><span class="special">(</span><span class="identifier">C</span> <span class="special">&</span><span class="special">)</span><span class="special">;</span> <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> C<span class="special">></span> <span class="identifier">move_insert_iterator</span><span class="special"><</span> <span class="identifier">C</span> <span class="special">></span> <a class="link" href="../boost/move_inserter.html" title="Function template move_inserter"><span class="identifier">move_inserter</span></a><span class="special">(</span><span class="identifier">C</span> <span class="special">&</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">C</span><span class="special">::</span><span class="identifier">iterator</span><span class="special">)</span><span class="special">;</span> - <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> I<span class="special">,</span> <span class="keyword">typename</span> O<span class="special">></span> <span class="identifier">O</span> <a class="link" href="../boost/move_id1109062.html" title="Function template move"><span class="identifier">move</span></a><span class="special">(</span><span class="identifier">I</span><span class="special">,</span> <span class="identifier">I</span><span class="special">,</span> <span class="identifier">O</span><span class="special">)</span><span class="special">;</span> - <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> I<span class="special">,</span> <span class="keyword">typename</span> O<span class="special">></span> <span class="identifier">O</span> <a class="link" href="../boost/move_backward.html" title="Function template move_backward"><span class="identifier">move_backward</span></a><span class="special">(</span><span class="identifier">I</span><span class="special">,</span> <span class="identifier">I</span><span class="special">,</span> <span class="identifier">O</span><span class="special">)</span><span class="special">;</span> - <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> I<span class="special">,</span> <span class="keyword">typename</span> F<span class="special">></span> <span class="identifier">F</span> <a class="link" href="../boost/uninitialized_move.html" title="Function template uninitialized_move"><span class="identifier">uninitialized_move</span></a><span class="special">(</span><span class="identifier">I</span><span class="special">,</span> <span class="identifier">I</span><span class="special">,</span> <span class="identifier">F</span><span class="special">)</span><span class="special">;</span> - <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> I<span class="special">,</span> <span class="keyword">typename</span> F<span class="special">></span> <span class="identifier">F</span> <a class="link" href="../boost/uninitialized_copy_or_move.html" title="Function template uninitialized_copy_or_move"><span class="identifier">uninitialized_copy_or_move</span></a><span class="special">(</span><span class="identifier">I</span><span class="special">,</span> <span class="identifier">I</span><span class="special">,</span> <span class="identifier">F</span><span class="special">)</span><span class="special">;</span> - <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> I<span class="special">,</span> <span class="keyword">typename</span> F<span class="special">></span> <span class="identifier">F</span> <a class="link" href="../boost/copy_or_move.html" title="Function template copy_or_move"><span class="identifier">copy_or_move</span></a><span class="special">(</span><span class="identifier">I</span><span class="special">,</span> <span class="identifier">I</span><span class="special">,</span> <span class="identifier">F</span><span class="special">)</span><span class="special">;</span> +<span class="special">}</span></pre> +</div> +<div class="section"> +<div class="titlepage"><div><div><h3 class="title"> +<a name="header.boost.move.make_unique_hpp"></a>Header <<a href="../../../boost/move/make_unique.hpp" target="_top">boost/move/make_unique.hpp</a>></h3></div></div></div> +<p>Defines "make_unique" functions, which are factories to create instances of unique_ptr depending on the passed arguments.</p> +<p>This header can be a bit heavyweight in C++03 compilers due to the use of the preprocessor library, that's why it's a a separate header from <code class="computeroutput">unique_ptr.hpp</code> </p> +<pre class="synopsis"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span> + <span class="keyword">namespace</span> <span class="identifier">movelib</span> <span class="special">{</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">class</span><span class="special">...</span> Args<span class="special">></span> + <a class="link" href="../boost/movelib/unique_ptr.html" title="Class template unique_ptr">unique_ptr</a><span class="special"><</span> <span class="identifier">T</span> <span class="special">></span> <a class="link" href="../boost/movelib/make_unique_idp102671104.html" title="Function template make_unique"><span class="identifier">make_unique</span></a><span class="special">(</span><span class="identifier">Args</span> <span class="special">&&</span><span class="special">...</span><span class="special">)</span><span class="special">;</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">class</span><span class="special">...</span> Args<span class="special">></span> + <a class="link" href="../boost/movelib/unique_ptr.html" title="Class template unique_ptr">unique_ptr</a><span class="special"><</span> <span class="identifier">T</span> <span class="special">></span> <a class="link" href="../boost/movelib/make_unique_n_idp146693984.html" title="Function template make_unique_nothrow"><span class="identifier">make_unique_nothrow</span></a><span class="special">(</span><span class="identifier">Args</span> <span class="special">&&</span><span class="special">...</span><span class="special">)</span><span class="special">;</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">></span> <a class="link" href="../boost/movelib/unique_ptr.html" title="Class template unique_ptr">unique_ptr</a><span class="special"><</span> <span class="identifier">T</span> <span class="special">></span> <a class="link" href="../boost/movelib/make_unique_d_idp146699712.html" title="Function template make_unique_definit"><span class="identifier">make_unique_definit</span></a><span class="special">(</span><span class="special">)</span><span class="special">;</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">></span> <a class="link" href="../boost/movelib/unique_ptr.html" title="Class template unique_ptr">unique_ptr</a><span class="special"><</span> <span class="identifier">T</span> <span class="special">></span> <a class="link" href="../boost/movelib/make_unique_n_idp161634944.html" title="Function template make_unique_nothrow_definit"><span class="identifier">make_unique_nothrow_definit</span></a><span class="special">(</span><span class="special">)</span><span class="special">;</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">></span> <a class="link" href="../boost/movelib/unique_ptr.html" title="Class template unique_ptr">unique_ptr</a><span class="special"><</span> <span class="identifier">T</span> <span class="special">></span> <a class="link" href="../boost/movelib/make_unique_idp158748768.html" title="Function template make_unique"><span class="identifier">make_unique</span></a><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span><span class="special">)</span><span class="special">;</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">></span> <a class="link" href="../boost/movelib/unique_ptr.html" title="Class template unique_ptr">unique_ptr</a><span class="special"><</span> <span class="identifier">T</span> <span class="special">></span> <a class="link" href="../boost/movelib/make_unique_n_idp158753728.html" title="Function template make_unique_nothrow"><span class="identifier">make_unique_nothrow</span></a><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span><span class="special">)</span><span class="special">;</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">></span> <a class="link" href="../boost/movelib/unique_ptr.html" title="Class template unique_ptr">unique_ptr</a><span class="special"><</span> <span class="identifier">T</span> <span class="special">></span> <a class="link" href="../boost/movelib/make_unique_d_idp108564688.html" title="Function template make_unique_definit"><span class="identifier">make_unique_definit</span></a><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span><span class="special">)</span><span class="special">;</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">></span> + <a class="link" href="../boost/movelib/unique_ptr.html" title="Class template unique_ptr">unique_ptr</a><span class="special"><</span> <span class="identifier">T</span> <span class="special">></span> <a class="link" href="../boost/movelib/make_unique_n_idp159342464.html" title="Function template make_unique_nothrow_definit"><span class="identifier">make_unique_nothrow_definit</span></a><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span><span class="special">)</span><span class="special">;</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">class</span><span class="special">...</span> Args<span class="special">></span> <span class="identifier">unspecified</span> <a class="link" href="../boost/movelib/make_unique_idp159347488.html" title="Function template make_unique"><span class="identifier">make_unique</span></a><span class="special">(</span><span class="identifier">Args</span> <span class="special">&&</span><span class="special">)</span><span class="special">;</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">class</span><span class="special">...</span> Args<span class="special">></span> + <span class="identifier">unspecified</span> <a class="link" href="../boost/movelib/make_unique_de_idp95956192.html" title="Function template make_unique_definit"><span class="identifier">make_unique_definit</span></a><span class="special">(</span><span class="identifier">Args</span> <span class="special">&&</span><span class="special">)</span><span class="special">;</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">class</span><span class="special">...</span> Args<span class="special">></span> + <span class="identifier">unspecified</span> <a class="link" href="../boost/movelib/make_unique_n_idp113562384.html" title="Function template make_unique_nothrow"><span class="identifier">make_unique_nothrow</span></a><span class="special">(</span><span class="identifier">Args</span> <span class="special">&&</span><span class="special">)</span><span class="special">;</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">class</span><span class="special">...</span> Args<span class="special">></span> + <span class="identifier">unspecified</span> <a class="link" href="../boost/movelib/make_unique_n_idp113566672.html" title="Function template make_unique_nothrow_definit"><span class="identifier">make_unique_nothrow_definit</span></a><span class="special">(</span><span class="identifier">Args</span> <span class="special">&&</span><span class="special">)</span><span class="special">;</span> + <span class="special">}</span> +<span class="special">}</span></pre> +</div> +<div class="section"> +<div class="titlepage"><div><div><h3 class="title"> +<a name="header.boost.move.move_hpp"></a>Header <<a href="../../../boost/move/move.hpp" target="_top">boost/move/move.hpp</a>></h3></div></div></div> +<p>A general library header that includes the rest of top-level headers. </p> +</div> +<div class="section"> +<div class="titlepage"><div><div><h3 class="title"> +<a name="header.boost.move.traits_hpp"></a>Header <<a href="../../../boost/move/traits.hpp" target="_top">boost/move/traits.hpp</a>></h3></div></div></div> +<pre class="synopsis"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">></span> <span class="keyword">struct</span> <a class="link" href="../boost/has_trivial_d_idp150802208.html" title="Struct template has_trivial_destructor_after_move">has_trivial_destructor_after_move</a><span class="special">;</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">></span> <span class="keyword">struct</span> <a class="link" href="../boost/has_nothrow_move.html" title="Struct template has_nothrow_move">has_nothrow_move</a><span class="special">;</span> +<span class="special">}</span></pre> +</div> +<div class="section"> +<div class="titlepage"><div><div><h3 class="title"> +<a name="header.boost.move.unique_ptr_hpp"></a>Header <<a href="../../../boost/move/unique_ptr.hpp" target="_top">boost/move/unique_ptr.hpp</a>></h3></div></div></div> +<p>Describes the smart pointer unique_ptr, a drop-in replacement for std::unique_ptr, usable also from C++03 compilers.</p> +<p>Main differences from std::unique_ptr to avoid heavy dependencies, specially in C++03 compilers:</p> +<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "> +<li class="listitem"><p><code class="computeroutput">operator < </code> uses pointer <code class="computeroutput">operator < </code>instead of <code class="computeroutput">std::less<common_type></code>. This avoids dependencies on <code class="computeroutput">std::common_type</code> and <code class="computeroutput">std::less</code> (<code class="computeroutput"><type_traits>/<functional></code> headers. In C++03 this avoid pulling Boost.Typeof and other cascading dependencies. As in all Boost platforms <code class="computeroutput">operator <</code> on raw pointers and other smart pointers provides strict weak ordering in practice this should not be a problem for users.</p></li> +<li class="listitem"><p>assignable from literal 0 for compilers without nullptr</p></li> +<li class="listitem"><p><code class="computeroutput">unique_ptr<T[]></code> is constructible and assignable from <code class="computeroutput">unique_ptr<U[]></code> if cv-less T and cv-less U are the same type and T is more CV qualified than U. </p></li> +</ul></div> +<p> +</p> +<pre class="synopsis"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span> + <span class="keyword">namespace</span> <span class="identifier">move_upd</span> <span class="special">{</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> D<span class="special">></span> <span class="keyword">struct</span> <a class="link" href="../boost/move_upd/deleter_types.html" title="Struct template deleter_types">deleter_types</a><span class="special">;</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> P<span class="special">,</span> <span class="keyword">typename</span> D<span class="special">,</span> + <span class="keyword">bool</span> <span class="special">=</span> <span class="identifier">bmupmu</span><span class="special">::</span><span class="identifier">is_unary_function</span><span class="special"><</span><span class="identifier">D</span><span class="special">></span><span class="special">::</span><span class="identifier">value</span> <span class="special">||</span> <span class="identifier">bmupmu</span><span class="special">::</span><span class="identifier">is_reference</span><span class="special"><</span><span class="identifier">D</span><span class="special">></span><span class="special">::</span><span class="identifier">value</span><span class="special">></span> + <span class="keyword">struct</span> <a class="link" href="../boost/move_upd/unique_ptr_data.html" title="Struct template unique_ptr_data">unique_ptr_data</a><span class="special">;</span> + + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> P<span class="special">,</span> <span class="keyword">typename</span> D<span class="special">></span> <span class="keyword">struct</span> <a class="link" href="../boost/move_upd/unique_ptr_da_idp151888768.html" title="Struct template unique_ptr_data<P, D, false>">unique_ptr_data</a><span class="special"><</span><span class="identifier">P</span><span class="special">,</span> <span class="identifier">D</span><span class="special">,</span> <span class="keyword">false</span><span class="special">></span><span class="special">;</span> + + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">></span> <span class="keyword">struct</span> <a class="link" href="../boost/move_upd/get_element_type.html" title="Struct template get_element_type">get_element_type</a><span class="special">;</span> + + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">></span> <span class="keyword">struct</span> <a class="link" href="../boost/move_upd/get_element_t_idp146280688.html" title="Struct template get_element_type<T *>">get_element_type</a><span class="special"><</span><span class="identifier">T</span> <span class="special">*</span><span class="special">></span><span class="special">;</span> + + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">></span> <span class="keyword">struct</span> <a class="link" href="../boost/move_upd/get_cvelement.html" title="Struct template get_cvelement">get_cvelement</a><span class="special">;</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> P1<span class="special">,</span> <span class="keyword">typename</span> P2<span class="special">></span> <span class="keyword">struct</span> <a class="link" href="../boost/move_upd/is_same_cvele_idp103067728.html" title="Struct template is_same_cvelement_and_convertible">is_same_cvelement_and_convertible</a><span class="special">;</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">bool</span> IsArray<span class="special">,</span> <span class="keyword">typename</span> FromPointer<span class="special">,</span> <span class="keyword">typename</span> ThisPointer<span class="special">></span> + <span class="keyword">struct</span> <a class="link" href="../boost/move_upd/is_unique_ptr_convertible.html" title="Struct template is_unique_ptr_convertible">is_unique_ptr_convertible</a><span class="special">;</span> + + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> FromPointer<span class="special">,</span> <span class="keyword">typename</span> ThisPointer<span class="special">></span> + <span class="keyword">struct</span> <a class="link" href="../boost/move_upd/is_unique_ptr_idp156082704.html" title="Struct template is_unique_ptr_convertible<false, FromPointer, ThisPointer>">is_unique_ptr_convertible</a><span class="special"><</span><span class="keyword">false</span><span class="special">,</span> <span class="identifier">FromPointer</span><span class="special">,</span> <span class="identifier">ThisPointer</span><span class="special">></span><span class="special">;</span> + + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">typename</span> FromPointer<span class="special">,</span> <span class="keyword">typename</span> ThisPointer<span class="special">,</span> + <span class="keyword">typename</span> Type <span class="special">=</span> <span class="identifier">bmupmu</span><span class="special">::</span><span class="identifier">nat</span><span class="special">></span> + <span class="keyword">struct</span> <a class="link" href="../boost/move_upd/enable_up_ptr.html" title="Struct template enable_up_ptr">enable_up_ptr</a><span class="special">;</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">typename</span> D<span class="special">,</span> <span class="keyword">typename</span> U<span class="special">,</span> <span class="keyword">typename</span> E<span class="special">></span> + <span class="keyword">struct</span> <a class="link" href="../boost/move_upd/unique_moveco_idp144094368.html" title="Struct template unique_moveconvert_assignable">unique_moveconvert_assignable</a><span class="special">;</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">typename</span> D<span class="special">,</span> <span class="keyword">typename</span> U<span class="special">,</span> <span class="keyword">typename</span> E<span class="special">,</span> + <span class="keyword">typename</span> Type <span class="special">=</span> <span class="identifier">bmupmu</span><span class="special">::</span><span class="identifier">nat</span><span class="special">></span> + <span class="keyword">struct</span> <a class="link" href="../boost/move_upd/enable_up_moveconv_assign.html" title="Struct template enable_up_moveconv_assign">enable_up_moveconv_assign</a><span class="special">;</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> D<span class="special">,</span> <span class="keyword">typename</span> E<span class="special">,</span> + <span class="keyword">bool</span> IsReference <span class="special">=</span> <span class="identifier">bmupmu</span><span class="special">::</span><span class="identifier">is_reference</span><span class="special"><</span><span class="identifier">D</span><span class="special">></span><span class="special">::</span><span class="identifier">value</span><span class="special">></span> + <span class="keyword">struct</span> <a class="link" href="../boost/move_upd/unique_delete_idp144670112.html" title="Struct template unique_deleter_is_initializable">unique_deleter_is_initializable</a><span class="special">;</span> + + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">typename</span> U<span class="special">></span> <span class="keyword">class</span> <a class="link" href="../boost/move_upd/is_rvalue_convertible.html" title="Class template is_rvalue_convertible">is_rvalue_convertible</a><span class="special">;</span> + + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> D<span class="special">,</span> <span class="keyword">typename</span> E<span class="special">></span> + <span class="keyword">struct</span> <a class="link" href="../boost/move_upd/unique_delete_idp146577344.html" title="Struct template unique_deleter_is_initializable<D, E, false>">unique_deleter_is_initializable</a><span class="special"><</span><span class="identifier">D</span><span class="special">,</span> <span class="identifier">E</span><span class="special">,</span> <span class="keyword">false</span><span class="special">></span><span class="special">;</span> + + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">typename</span> D<span class="special">,</span> <span class="keyword">typename</span> U<span class="special">,</span> <span class="keyword">typename</span> E<span class="special">,</span> + <span class="keyword">typename</span> Type <span class="special">=</span> <span class="identifier">bmupmu</span><span class="special">::</span><span class="identifier">nat</span><span class="special">></span> + <span class="keyword">struct</span> <a class="link" href="../boost/move_upd/enable_up_moveconv_constr.html" title="Struct template enable_up_moveconv_constr">enable_up_moveconv_constr</a><span class="special">;</span> + <span class="special">}</span> + <span class="keyword">namespace</span> <span class="identifier">movelib</span> <span class="special">{</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">typename</span> D <span class="special">=</span> <a class="link" href="../boost/movelib/default_delete.html" title="Struct template default_delete">default_delete</a><span class="special"><</span><span class="identifier">T</span><span class="special">></span> <span class="special">></span> <span class="keyword">class</span> <a class="link" href="../boost/movelib/unique_ptr.html" title="Class template unique_ptr">unique_ptr</a><span class="special">;</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">typename</span> D<span class="special">></span> + <span class="keyword">void</span> <a class="link" href="../boost/movelib/swap_idp204373760.html" title="Function template swap"><span class="identifier">swap</span></a><span class="special">(</span><a class="link" href="../boost/movelib/unique_ptr.html" title="Class template unique_ptr">unique_ptr</a><span class="special"><</span> <span class="identifier">T</span><span class="special">,</span> <span class="identifier">D</span> <span class="special">></span> <span class="special">&</span><span class="special">,</span> <a class="link" href="../boost/movelib/unique_ptr.html" title="Class template unique_ptr">unique_ptr</a><span class="special"><</span> <span class="identifier">T</span><span class="special">,</span> <span class="identifier">D</span> <span class="special">></span> <span class="special">&</span><span class="special">)</span><span class="special">;</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T1<span class="special">,</span> <span class="keyword">typename</span> D1<span class="special">,</span> <span class="keyword">typename</span> T2<span class="special">,</span> <span class="keyword">typename</span> D2<span class="special">></span> + <span class="keyword">bool</span> <a class="link" href="../boost/movelib/operator___idp204309936.html" title="Function template operator=="><span class="keyword">operator</span><span class="special">==</span></a><span class="special">(</span><span class="keyword">const</span> <a class="link" href="../boost/movelib/unique_ptr.html" title="Class template unique_ptr">unique_ptr</a><span class="special"><</span> <span class="identifier">T1</span><span class="special">,</span> <span class="identifier">D1</span> <span class="special">></span> <span class="special">&</span><span class="special">,</span> + <span class="keyword">const</span> <a class="link" href="../boost/movelib/unique_ptr.html" title="Class template unique_ptr">unique_ptr</a><span class="special"><</span> <span class="identifier">T2</span><span class="special">,</span> <span class="identifier">D2</span> <span class="special">></span> <span class="special">&</span><span class="special">)</span><span class="special">;</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T1<span class="special">,</span> <span class="keyword">typename</span> D1<span class="special">,</span> <span class="keyword">typename</span> T2<span class="special">,</span> <span class="keyword">typename</span> D2<span class="special">></span> + <span class="keyword">bool</span> <a class="link" href="../boost/movelib/operator___idp202808704.html" title="Function template operator!="><span class="keyword">operator</span><span class="special">!=</span></a><span class="special">(</span><span class="keyword">const</span> <a class="link" href="../boost/movelib/unique_ptr.html" title="Class template unique_ptr">unique_ptr</a><span class="special"><</span> <span class="identifier">T1</span><span class="special">,</span> <span class="identifier">D1</span> <span class="special">></span> <span class="special">&</span><span class="special">,</span> + <span class="keyword">const</span> <a class="link" href="../boost/movelib/unique_ptr.html" title="Class template unique_ptr">unique_ptr</a><span class="special"><</span> <span class="identifier">T2</span><span class="special">,</span> <span class="identifier">D2</span> <span class="special">></span> <span class="special">&</span><span class="special">)</span><span class="special">;</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T1<span class="special">,</span> <span class="keyword">typename</span> D1<span class="special">,</span> <span class="keyword">typename</span> T2<span class="special">,</span> <span class="keyword">typename</span> D2<span class="special">></span> + <span class="keyword">bool</span> <a class="link" href="../boost/movelib/operator_idp202777392.html" title="Function template operator<"><span class="keyword">operator</span><span class="special"><</span></a><span class="special">(</span><span class="keyword">const</span> <a class="link" href="../boost/movelib/unique_ptr.html" title="Class template unique_ptr">unique_ptr</a><span class="special"><</span> <span class="identifier">T1</span><span class="special">,</span> <span class="identifier">D1</span> <span class="special">></span> <span class="special">&</span><span class="special">,</span> + <span class="keyword">const</span> <a class="link" href="../boost/movelib/unique_ptr.html" title="Class template unique_ptr">unique_ptr</a><span class="special"><</span> <span class="identifier">T2</span><span class="special">,</span> <span class="identifier">D2</span> <span class="special">></span> <span class="special">&</span><span class="special">)</span><span class="special">;</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T1<span class="special">,</span> <span class="keyword">typename</span> D1<span class="special">,</span> <span class="keyword">typename</span> T2<span class="special">,</span> <span class="keyword">typename</span> D2<span class="special">></span> + <span class="keyword">bool</span> <a class="link" href="../boost/movelib/operator___idp202746400.html" title="Function template operator<="><span class="keyword">operator</span><span class="special"><=</span></a><span class="special">(</span><span class="keyword">const</span> <a class="link" href="../boost/movelib/unique_ptr.html" title="Class template unique_ptr">unique_ptr</a><span class="special"><</span> <span class="identifier">T1</span><span class="special">,</span> <span class="identifier">D1</span> <span class="special">></span> <span class="special">&</span><span class="special">,</span> + <span class="keyword">const</span> <a class="link" href="../boost/movelib/unique_ptr.html" title="Class template unique_ptr">unique_ptr</a><span class="special"><</span> <span class="identifier">T2</span><span class="special">,</span> <span class="identifier">D2</span> <span class="special">></span> <span class="special">&</span><span class="special">)</span><span class="special">;</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T1<span class="special">,</span> <span class="keyword">typename</span> D1<span class="special">,</span> <span class="keyword">typename</span> T2<span class="special">,</span> <span class="keyword">typename</span> D2<span class="special">></span> + <span class="keyword">bool</span> <a class="link" href="../boost/movelib/operator_idp199897216.html" title="Function template operator>"><span class="keyword">operator</span><span class="special">></span></a><span class="special">(</span><span class="keyword">const</span> <a class="link" href="../boost/movelib/unique_ptr.html" title="Class template unique_ptr">unique_ptr</a><span class="special"><</span> <span class="identifier">T1</span><span class="special">,</span> <span class="identifier">D1</span> <span class="special">></span> <span class="special">&</span><span class="special">,</span> + <span class="keyword">const</span> <a class="link" href="../boost/movelib/unique_ptr.html" title="Class template unique_ptr">unique_ptr</a><span class="special"><</span> <span class="identifier">T2</span><span class="special">,</span> <span class="identifier">D2</span> <span class="special">></span> <span class="special">&</span><span class="special">)</span><span class="special">;</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T1<span class="special">,</span> <span class="keyword">typename</span> D1<span class="special">,</span> <span class="keyword">typename</span> T2<span class="special">,</span> <span class="keyword">typename</span> D2<span class="special">></span> + <span class="keyword">bool</span> <a class="link" href="../boost/movelib/operator___idp153672080.html" title="Function template operator>="><span class="keyword">operator</span><span class="special">>=</span></a><span class="special">(</span><span class="keyword">const</span> <a class="link" href="../boost/movelib/unique_ptr.html" title="Class template unique_ptr">unique_ptr</a><span class="special"><</span> <span class="identifier">T1</span><span class="special">,</span> <span class="identifier">D1</span> <span class="special">></span> <span class="special">&</span><span class="special">,</span> + <span class="keyword">const</span> <a class="link" href="../boost/movelib/unique_ptr.html" title="Class template unique_ptr">unique_ptr</a><span class="special"><</span> <span class="identifier">T2</span><span class="special">,</span> <span class="identifier">D2</span> <span class="special">></span> <span class="special">&</span><span class="special">)</span><span class="special">;</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">typename</span> D<span class="special">></span> + <span class="keyword">bool</span> <a class="link" href="../boost/movelib/operator___idp73594208.html" title="Function template operator=="><span class="keyword">operator</span><span class="special">==</span></a><span class="special">(</span><span class="keyword">const</span> <a class="link" href="../boost/movelib/unique_ptr.html" title="Class template unique_ptr">unique_ptr</a><span class="special"><</span> <span class="identifier">T</span><span class="special">,</span> <span class="identifier">D</span> <span class="special">></span> <span class="special">&</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">nullptr_t</span><span class="special">)</span><span class="special">;</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">typename</span> D<span class="special">></span> + <span class="keyword">bool</span> <a class="link" href="../boost/movelib/operator___idp226834048.html" title="Function template operator=="><span class="keyword">operator</span><span class="special">==</span></a><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">nullptr_t</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../boost/movelib/unique_ptr.html" title="Class template unique_ptr">unique_ptr</a><span class="special"><</span> <span class="identifier">T</span><span class="special">,</span> <span class="identifier">D</span> <span class="special">></span> <span class="special">&</span><span class="special">)</span><span class="special">;</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">typename</span> D<span class="special">></span> + <span class="keyword">bool</span> <a class="link" href="../boost/movelib/operator___idp226839104.html" title="Function template operator!="><span class="keyword">operator</span><span class="special">!=</span></a><span class="special">(</span><span class="keyword">const</span> <a class="link" href="../boost/movelib/unique_ptr.html" title="Class template unique_ptr">unique_ptr</a><span class="special"><</span> <span class="identifier">T</span><span class="special">,</span> <span class="identifier">D</span> <span class="special">></span> <span class="special">&</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">nullptr_t</span><span class="special">)</span><span class="special">;</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">typename</span> D<span class="special">></span> + <span class="keyword">bool</span> <a class="link" href="../boost/movelib/operator___idp212890688.html" title="Function template operator!="><span class="keyword">operator</span><span class="special">!=</span></a><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">nullptr_t</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../boost/movelib/unique_ptr.html" title="Class template unique_ptr">unique_ptr</a><span class="special"><</span> <span class="identifier">T</span><span class="special">,</span> <span class="identifier">D</span> <span class="special">></span> <span class="special">&</span><span class="special">)</span><span class="special">;</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">typename</span> D<span class="special">></span> + <span class="keyword">bool</span> <a class="link" href="../boost/movelib/operator_idp150805968.html" title="Function template operator<"><span class="keyword">operator</span><span class="special"><</span></a><span class="special">(</span><span class="keyword">const</span> <a class="link" href="../boost/movelib/unique_ptr.html" title="Class template unique_ptr">unique_ptr</a><span class="special"><</span> <span class="identifier">T</span><span class="special">,</span> <span class="identifier">D</span> <span class="special">></span> <span class="special">&</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">nullptr_t</span><span class="special">)</span><span class="special">;</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">typename</span> D<span class="special">></span> + <span class="keyword">bool</span> <a class="link" href="../boost/movelib/operator_idp154714400.html" title="Function template operator<"><span class="keyword">operator</span><span class="special"><</span></a><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">nullptr_t</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../boost/movelib/unique_ptr.html" title="Class template unique_ptr">unique_ptr</a><span class="special"><</span> <span class="identifier">T</span><span class="special">,</span> <span class="identifier">D</span> <span class="special">></span> <span class="special">&</span><span class="special">)</span><span class="special">;</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">typename</span> D<span class="special">></span> + <span class="keyword">bool</span> <a class="link" href="../boost/movelib/operator_idp154721168.html" title="Function template operator>"><span class="keyword">operator</span><span class="special">></span></a><span class="special">(</span><span class="keyword">const</span> <a class="link" href="../boost/movelib/unique_ptr.html" title="Class template unique_ptr">unique_ptr</a><span class="special"><</span> <span class="identifier">T</span><span class="special">,</span> <span class="identifier">D</span> <span class="special">></span> <span class="special">&</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">nullptr_t</span><span class="special">)</span><span class="special">;</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">typename</span> D<span class="special">></span> + <span class="keyword">bool</span> <a class="link" href="../boost/movelib/operator_idp143934048.html" title="Function template operator>"><span class="keyword">operator</span><span class="special">></span></a><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">nullptr_t</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../boost/movelib/unique_ptr.html" title="Class template unique_ptr">unique_ptr</a><span class="special"><</span> <span class="identifier">T</span><span class="special">,</span> <span class="identifier">D</span> <span class="special">></span> <span class="special">&</span><span class="special">)</span><span class="special">;</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">typename</span> D<span class="special">></span> + <span class="keyword">bool</span> <a class="link" href="../boost/movelib/operator___idp143980080.html" title="Function template operator<="><span class="keyword">operator</span><span class="special"><=</span></a><span class="special">(</span><span class="keyword">const</span> <a class="link" href="../boost/movelib/unique_ptr.html" title="Class template unique_ptr">unique_ptr</a><span class="special"><</span> <span class="identifier">T</span><span class="special">,</span> <span class="identifier">D</span> <span class="special">></span> <span class="special">&</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">nullptr_t</span><span class="special">)</span><span class="special">;</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">typename</span> D<span class="special">></span> + <span class="keyword">bool</span> <a class="link" href="../boost/movelib/operator___idp144603088.html" title="Function template operator<="><span class="keyword">operator</span><span class="special"><=</span></a><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">nullptr_t</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../boost/movelib/unique_ptr.html" title="Class template unique_ptr">unique_ptr</a><span class="special"><</span> <span class="identifier">T</span><span class="special">,</span> <span class="identifier">D</span> <span class="special">></span> <span class="special">&</span><span class="special">)</span><span class="special">;</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">typename</span> D<span class="special">></span> + <span class="keyword">bool</span> <a class="link" href="../boost/movelib/operator___idp144608592.html" title="Function template operator>="><span class="keyword">operator</span><span class="special">>=</span></a><span class="special">(</span><span class="keyword">const</span> <a class="link" href="../boost/movelib/unique_ptr.html" title="Class template unique_ptr">unique_ptr</a><span class="special"><</span> <span class="identifier">T</span><span class="special">,</span> <span class="identifier">D</span> <span class="special">></span> <span class="special">&</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">nullptr_t</span><span class="special">)</span><span class="special">;</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">typename</span> D<span class="special">></span> + <span class="keyword">bool</span> <a class="link" href="../boost/movelib/operator___idp161526352.html" title="Function template operator>="><span class="keyword">operator</span><span class="special">>=</span></a><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">nullptr_t</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../boost/movelib/unique_ptr.html" title="Class template unique_ptr">unique_ptr</a><span class="special"><</span> <span class="identifier">T</span><span class="special">,</span> <span class="identifier">D</span> <span class="special">></span> <span class="special">&</span><span class="special">)</span><span class="special">;</span> + <span class="special">}</span> +<span class="special">}</span></pre> +</div> +<div class="section"> +<div class="titlepage"><div><div><h3 class="title"> +<a name="header.boost.move.utility_hpp"></a>Header <<a href="../../../boost/move/utility.hpp" target="_top">boost/move/utility.hpp</a>></h3></div></div></div> +<p>This header includes core utilities from <code class="computeroutput"><boost/move/utility_core.hpp></code> and defines some more advanced utilities such as: </p> +<pre class="synopsis"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">></span> + <span class="identifier">rvalue_reference_or_const_lvalue_reference</span> + <a class="link" href="../boost/move_if_noexcept.html" title="Function template move_if_noexcept"><span class="identifier">move_if_noexcept</span></a><span class="special">(</span><span class="identifier">input_reference</span><span class="special">)</span><span class="special">;</span> +<span class="special">}</span></pre> +</div> +<div class="section"> +<div class="titlepage"><div><div><h3 class="title"> +<a name="header.boost.move.utility_core_hpp"></a>Header <<a href="../../../boost/move/utility_core.hpp" target="_top">boost/move/utility_core.hpp</a>></h3></div></div></div> +<p>This header defines core utilities to ease the development of move-aware functions. This header minimizes dependencies from other libraries. </p> +<pre class="synopsis"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">></span> <span class="keyword">struct</span> <a class="link" href="../boost/enable_move_u_idp225112608.html" title="Struct template enable_move_utility_emulation">enable_move_utility_emulation</a><span class="special">;</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">></span> <span class="identifier">rvalue_reference</span> <a class="link" href="../boost/move_idp225078944.html" title="Function template move"><span class="identifier">move</span></a><span class="special">(</span><span class="identifier">input_reference</span><span class="special">)</span><span class="special">;</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">></span> <span class="identifier">output_reference</span> <a class="link" href="../boost/forward.html" title="Function template forward"><span class="identifier">forward</span></a><span class="special">(</span><span class="identifier">input_reference</span><span class="special">)</span><span class="special">;</span> + <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> T<span class="special">></span> + <span class="identifier">output_reference</span> <a name="boost.move_if_not_l_idp225049936"></a><span class="identifier">move_if_not_lvalue_reference</span><span class="special">(</span><span class="identifier">input_reference</span><span class="special">)</span><span class="special">;</span> <span class="special">}</span></pre> </div> </div> <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr> <td align="left"></td> -<td align="right"><div class="copyright-footer">Copyright © 2008-2010 Ion Gaztanaga<p> +<td align="right"><div class="copyright-footer">Copyright © 2008-2014 Ion Gaztanaga<p> Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) </p> @@ -74,7 +282,7 @@ </tr></table> <hr> <div class="spirit-nav"> -<a accesskey="p" href="release_notes.html"><img src="../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../move.html"><img src="../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../boost/has_nothrow_move.html"><img src="../../../doc/src/images/next.png" alt="Next"></a> +<a accesskey="p" href="release_notes.html"><img src="../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../move.html"><img src="../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../boost/move_idp105408384.html"><img src="../../../doc/src/images/next.png" alt="Next"></a> </div> </body> </html> |