blob: 7272605e2f43dafd3db3acc3511be2c854f8f937 [file] [log] [blame]
<html>
<head>
<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.78.1">
<link rel="home" href="../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset">
<link rel="up" href="../move.html" title="Chapter&#160;19.&#160;Boost.Move">
<link rel="prev" href="release_notes.html" title="Release Notes">
<link rel="next" href="../boost/adl_move_swap.html" title="Function template adl_move_swap">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../boost.png"></td>
<td align="center"><a href="../../../index.html">Home</a></td>
<td align="center"><a href="../../../libs/libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
<td align="center"><a href="../../../more/index.htm">More</a></td>
</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/adl_move_swap.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 class="toc">
<dt><span class="section"><a href="reference.html#header.boost.move.adl_move_swap_hpp">Header &lt;boost/move/adl_move_swap.hpp&gt;</a></span></dt>
<dt><span class="section"><a href="reference.html#header.boost.move.algorithm_hpp">Header &lt;boost/move/algorithm.hpp&gt;</a></span></dt>
<dt><span class="section"><a href="reference.html#header.boost.move.core_hpp">Header &lt;boost/move/core.hpp&gt;</a></span></dt>
<dt><span class="section"><a href="reference.html#header.boost.move.default_delete_hpp">Header &lt;boost/move/default_delete.hpp&gt;</a></span></dt>
<dt><span class="section"><a href="reference.html#header.boost.move.iterator_hpp">Header &lt;boost/move/iterator.hpp&gt;</a></span></dt>
<dt><span class="section"><a href="reference.html#header.boost.move.make_unique_hpp">Header &lt;boost/move/make_unique.hpp&gt;</a></span></dt>
<dt><span class="section"><a href="reference.html#header.boost.move.move_hpp">Header &lt;boost/move/move.hpp&gt;</a></span></dt>
<dt><span class="section"><a href="reference.html#header.boost.move.traits_hpp">Header &lt;boost/move/traits.hpp&gt;</a></span></dt>
<dt><span class="section"><a href="reference.html#header.boost.move.unique_ptr_hpp">Header &lt;boost/move/unique_ptr.hpp&gt;</a></span></dt>
<dt><span class="section"><a href="reference.html#header.boost.move.utility_hpp">Header &lt;boost/move/utility.hpp&gt;</a></span></dt>
<dt><span class="section"><a href="reference.html#header.boost.move.utility_core_hpp">Header &lt;boost/move/utility_core.hpp&gt;</a></span></dt>
</dl></div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="header.boost.move.adl_move_swap_hpp"></a>Header &lt;<a href="../../../boost/move/adl_move_swap.hpp" target="_top">boost/move/adl_move_swap.hpp</a>&gt;</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">&lt;</span><span class="keyword">typename</span> T<span class="special">&gt;</span> <span class="keyword">void</span> <a class="link" href="../boost/adl_move_swap.html" title="Function template adl_move_swap"><span class="identifier">adl_move_swap</span></a><span class="special">(</span><span class="identifier">T</span> <span class="special">&amp;</span><span class="special">,</span> <span class="identifier">T</span> <span class="special">&amp;</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.algorithm_hpp"></a>Header &lt;<a href="../../../boost/move/algorithm.hpp" target="_top">boost/move/algorithm.hpp</a>&gt;</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">&lt;</span><span class="keyword">typename</span> I<span class="special">,</span> <span class="keyword">typename</span> O<span class="special">&gt;</span> <span class="identifier">O</span> <a class="link" href="../boost/move_idp200621424.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">&lt;</span><span class="keyword">typename</span> I<span class="special">,</span> <span class="keyword">typename</span> O<span class="special">&gt;</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">&lt;</span><span class="keyword">typename</span> I<span class="special">,</span> <span class="keyword">typename</span> F<span class="special">&gt;</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">&lt;</span><span class="keyword">typename</span> I<span class="special">,</span> <span class="keyword">typename</span> F<span class="special">&gt;</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">&lt;</span><span class="keyword">typename</span> I<span class="special">,</span> <span class="keyword">typename</span> F<span class="special">&gt;</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 &lt;<a href="../../../boost/move/core.hpp" target="_top">boost/move/core.hpp</a>&gt;</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_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)
<a class="link" href="../BOOST_MOVE_RET.html" title="Macro BOOST_MOVE_RET">BOOST_MOVE_RET</a>(RET_TYPE, REF)
<a class="link" href="../BOOST_MOVE_BASE.html" title="Macro BOOST_MOVE_BASE">BOOST_MOVE_BASE</a>(BASE_TYPE, ARG)</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">&lt;</span><span class="keyword">typename</span> T<span class="special">&gt;</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 &lt;<a href="../../../boost/move/default_delete.hpp" target="_top">boost/move/default_delete.hpp</a>&gt;</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">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">template</span><span class="special">&lt;</span><span class="keyword">typename</span> U<span class="special">,</span> <span class="keyword">typename</span> T<span class="special">&gt;</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">&lt;</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">&gt;</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">&lt;</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">&gt;</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">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">&lt;</span><span class="keyword">typename</span> T<span class="special">&gt;</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 &lt;<a href="../../../boost/move/iterator.hpp" target="_top">boost/move/iterator.hpp</a>&gt;</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">&lt;</span><span class="keyword">typename</span> C<span class="special">&gt;</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">&lt;</span><span class="keyword">typename</span> C<span class="special">&gt;</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">&lt;</span><span class="keyword">typename</span> C<span class="special">&gt;</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">&lt;</span><span class="keyword">typename</span> It<span class="special">&gt;</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">&lt;</span><span class="keyword">typename</span> It<span class="special">&gt;</span> <a class="link" href="../boost/move_iterator.html" title="Class template move_iterator">move_iterator</a><span class="special">&lt;</span> <span class="identifier">It</span> <span class="special">&gt;</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">&amp;</span><span class="special">)</span><span class="special">;</span>
<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> C<span class="special">&gt;</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">&lt;</span> <span class="identifier">C</span> <span class="special">&gt;</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">&amp;</span><span class="special">)</span><span class="special">;</span>
<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> C<span class="special">&gt;</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">&lt;</span> <span class="identifier">C</span> <span class="special">&gt;</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">&amp;</span><span class="special">)</span><span class="special">;</span>
<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> C<span class="special">&gt;</span>
<span class="identifier">move_insert_iterator</span><span class="special">&lt;</span> <span class="identifier">C</span> <span class="special">&gt;</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">&amp;</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="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 &lt;<a href="../../../boost/move/make_unique.hpp" target="_top">boost/move/make_unique.hpp</a>&gt;</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">&lt;</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">class</span><span class="special">...</span> Args<span class="special">&gt;</span>
<a class="link" href="../boost/movelib/unique_ptr.html" title="Class template unique_ptr">unique_ptr</a><span class="special">&lt;</span> <span class="identifier">T</span> <span class="special">&gt;</span> <a class="link" href="../boost/movelib/make_unique_idp142606832.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">&amp;&amp;</span><span class="special">...</span><span class="special">)</span><span class="special">;</span>
<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">class</span><span class="special">...</span> Args<span class="special">&gt;</span>
<a class="link" href="../boost/movelib/unique_ptr.html" title="Class template unique_ptr">unique_ptr</a><span class="special">&lt;</span> <span class="identifier">T</span> <span class="special">&gt;</span> <a class="link" href="../boost/movelib/make_unique_n_idp142612560.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">&amp;&amp;</span><span class="special">...</span><span class="special">)</span><span class="special">;</span>
<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">&gt;</span> <a class="link" href="../boost/movelib/unique_ptr.html" title="Class template unique_ptr">unique_ptr</a><span class="special">&lt;</span> <span class="identifier">T</span> <span class="special">&gt;</span> <a class="link" href="../boost/movelib/make_unique_de_idp94838768.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">&lt;</span><span class="keyword">typename</span> T<span class="special">&gt;</span> <a class="link" href="../boost/movelib/unique_ptr.html" title="Class template unique_ptr">unique_ptr</a><span class="special">&lt;</span> <span class="identifier">T</span> <span class="special">&gt;</span> <a class="link" href="../boost/movelib/make_unique_no_idp94517680.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">&lt;</span><span class="keyword">typename</span> T<span class="special">&gt;</span> <a class="link" href="../boost/movelib/unique_ptr.html" title="Class template unique_ptr">unique_ptr</a><span class="special">&lt;</span> <span class="identifier">T</span> <span class="special">&gt;</span> <a class="link" href="../boost/movelib/make_unique_idp215943920.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">&lt;</span><span class="keyword">typename</span> T<span class="special">&gt;</span> <a class="link" href="../boost/movelib/unique_ptr.html" title="Class template unique_ptr">unique_ptr</a><span class="special">&lt;</span> <span class="identifier">T</span> <span class="special">&gt;</span> <a class="link" href="../boost/movelib/make_unique_n_idp215948816.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">&lt;</span><span class="keyword">typename</span> T<span class="special">&gt;</span> <a class="link" href="../boost/movelib/unique_ptr.html" title="Class template unique_ptr">unique_ptr</a><span class="special">&lt;</span> <span class="identifier">T</span> <span class="special">&gt;</span> <a class="link" href="../boost/movelib/make_unique_d_idp143863648.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">&lt;</span><span class="keyword">typename</span> T<span class="special">&gt;</span>
<a class="link" href="../boost/movelib/unique_ptr.html" title="Class template unique_ptr">unique_ptr</a><span class="special">&lt;</span> <span class="identifier">T</span> <span class="special">&gt;</span> <a class="link" href="../boost/movelib/make_unique_n_idp148761888.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">&lt;</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">class</span><span class="special">...</span> Args<span class="special">&gt;</span> <span class="identifier">unspecified</span> <a class="link" href="../boost/movelib/make_unique_idp206750512.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">&amp;&amp;</span><span class="special">)</span><span class="special">;</span>
<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">class</span><span class="special">...</span> Args<span class="special">&gt;</span>
<span class="identifier">unspecified</span> <a class="link" href="../boost/movelib/make_unique_d_idp206754800.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">&amp;&amp;</span><span class="special">)</span><span class="special">;</span>
<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">class</span><span class="special">...</span> Args<span class="special">&gt;</span>
<span class="identifier">unspecified</span> <a class="link" href="../boost/movelib/make_unique_n_idp146485056.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">&amp;&amp;</span><span class="special">)</span><span class="special">;</span>
<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">class</span><span class="special">...</span> Args<span class="special">&gt;</span>
<span class="identifier">unspecified</span> <a class="link" href="../boost/movelib/make_unique_n_idp146489344.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">&amp;&amp;</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 &lt;<a href="../../../boost/move/move.hpp" target="_top">boost/move/move.hpp</a>&gt;</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 &lt;<a href="../../../boost/move/traits.hpp" target="_top">boost/move/traits.hpp</a>&gt;</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">&lt;</span><span class="keyword">typename</span> T<span class="special">&gt;</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">&lt;</span><span class="keyword">typename</span> T<span class="special">&gt;</span> <span class="keyword">struct</span> <a class="link" href="../boost/has_trivial_de_idp94537360.html" title="Struct template has_trivial_destructor_after_move">has_trivial_destructor_after_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 &lt;<a href="../../../boost/move/unique_ptr.hpp" target="_top">boost/move/unique_ptr.hpp</a>&gt;</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 &lt; </code> uses pointer <code class="computeroutput">operator &lt; </code>instead of <code class="computeroutput">std::less&lt;common_type&gt;</code>. This avoids dependencies on <code class="computeroutput">std::common_type</code> and <code class="computeroutput">std::less</code> (<code class="computeroutput">&lt;type_traits&gt;/&lt;functional&gt;</code> headers. In C++03 this avoid pulling Boost.Typeof and other cascading dependencies. As in all Boost platforms <code class="computeroutput">operator &lt;</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&lt;T[]&gt;</code> is constructible and assignable from <code class="computeroutput">unique_ptr&lt;U[]&gt;</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">&lt;</span><span class="keyword">typename</span> D<span class="special">&gt;</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">&lt;</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">&gt;</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">&lt;</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">&gt;</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="keyword">template</span><span class="special">&lt;</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">&gt;</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">&lt;</span><span class="keyword">typename</span> T<span class="special">&gt;</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">&lt;</span><span class="keyword">typename</span> T<span class="special">&gt;</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">&lt;</span><span class="keyword">typename</span> T<span class="special">&gt;</span> <span class="keyword">struct</span> <a class="link" href="../boost/move_upd/get_element_t_idp101661424.html" title="Struct template get_element_type&lt;T *&gt;">get_element_type</a><span class="special">&lt;</span><span class="identifier">T</span> <span class="special">*</span><span class="special">&gt;</span><span class="special">;</span>
<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">typename</span> U<span class="special">&gt;</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">&lt;</span><span class="keyword">typename</span> P1<span class="special">,</span> <span class="keyword">typename</span> P2<span class="special">&gt;</span> <span class="keyword">struct</span> <a class="link" href="../boost/move_upd/is_same_cvele_idp149579088.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">&lt;</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">&gt;</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">&lt;</span><span class="keyword">typename</span> FromPointer<span class="special">,</span> <span class="keyword">typename</span> ThisPointer<span class="special">&gt;</span>
<span class="keyword">struct</span> <a class="link" href="../boost/move_upd/is_unique_ptr_idp192671824.html" title="Struct template is_unique_ptr_convertible&lt;false, FromPointer, ThisPointer&gt;">is_unique_ptr_convertible</a><span class="special">&lt;</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">&gt;</span><span class="special">;</span>
<span class="keyword">template</span><span class="special">&lt;</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">&lt;</span><span class="identifier">D</span><span class="special">&gt;</span><span class="special">::</span><span class="identifier">value</span><span class="special">&gt;</span>
<span class="keyword">struct</span> <a class="link" href="../boost/move_upd/unique_delete_idp192675168.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">&lt;</span><span class="keyword">typename</span> D<span class="special">,</span> <span class="keyword">typename</span> E<span class="special">&gt;</span>
<span class="keyword">struct</span> <a class="link" href="../boost/move_upd/unique_delete_idp144747584.html" title="Struct template unique_deleter_is_initializable&lt;D, E, false&gt;">unique_deleter_is_initializable</a><span class="special">&lt;</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">&gt;</span><span class="special">;</span>
<span class="keyword">template</span><span class="special">&lt;</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">&gt;</span>
<span class="keyword">struct</span> <a class="link" href="../boost/move_upd/unique_movecon_idp67362928.html" title="Struct template unique_moveconvert_assignable">unique_moveconvert_assignable</a><span class="special">;</span>
<span class="keyword">template</span><span class="special">&lt;</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">&lt;</span><span class="identifier">D</span><span class="special">&gt;</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">&lt;</span><span class="identifier">D</span><span class="special">&gt;</span><span class="special">::</span><span class="identifier">value</span><span class="special">&gt;</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">&lt;</span><span class="keyword">typename</span> P<span class="special">,</span> <span class="keyword">typename</span> D<span class="special">&gt;</span> <span class="keyword">struct</span> <a class="link" href="../boost/move_upd/unique_ptr_dat_idp92582880.html" title="Struct template unique_ptr_data&lt;P, D, false&gt;">unique_ptr_data</a><span class="special">&lt;</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">&gt;</span><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">&lt;</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">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span> <span class="special">&gt;</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">&lt;</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">typename</span> D<span class="special">&gt;</span>
<span class="keyword">void</span> <a class="link" href="../boost/movelib/swap_idp62493424.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">&lt;</span> <span class="identifier">T</span><span class="special">,</span> <span class="identifier">D</span> <span class="special">&gt;</span> <span class="special">&amp;</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">&lt;</span> <span class="identifier">T</span><span class="special">,</span> <span class="identifier">D</span> <span class="special">&gt;</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
<span class="keyword">template</span><span class="special">&lt;</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">&gt;</span>
<span class="keyword">bool</span> <a class="link" href="../boost/movelib/operator___idp90651168.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">&lt;</span> <span class="identifier">T1</span><span class="special">,</span> <span class="identifier">D1</span> <span class="special">&gt;</span> <span class="special">&amp;</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">&lt;</span> <span class="identifier">T2</span><span class="special">,</span> <span class="identifier">D2</span> <span class="special">&gt;</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
<span class="keyword">template</span><span class="special">&lt;</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">&gt;</span>
<span class="keyword">bool</span> <a class="link" href="../boost/movelib/operator___idp144924048.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">&lt;</span> <span class="identifier">T1</span><span class="special">,</span> <span class="identifier">D1</span> <span class="special">&gt;</span> <span class="special">&amp;</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">&lt;</span> <span class="identifier">T2</span><span class="special">,</span> <span class="identifier">D2</span> <span class="special">&gt;</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
<span class="keyword">template</span><span class="special">&lt;</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">&gt;</span>
<span class="keyword">bool</span> <a class="link" href="../boost/movelib/operator_idp155535840.html" title="Function template operator&lt;"><span class="keyword">operator</span><span class="special">&lt;</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">&lt;</span> <span class="identifier">T1</span><span class="special">,</span> <span class="identifier">D1</span> <span class="special">&gt;</span> <span class="special">&amp;</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">&lt;</span> <span class="identifier">T2</span><span class="special">,</span> <span class="identifier">D2</span> <span class="special">&gt;</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
<span class="keyword">template</span><span class="special">&lt;</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">&gt;</span>
<span class="keyword">bool</span> <a class="link" href="../boost/movelib/operator___idp195414400.html" title="Function template operator&lt;="><span class="keyword">operator</span><span class="special">&lt;=</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">&lt;</span> <span class="identifier">T1</span><span class="special">,</span> <span class="identifier">D1</span> <span class="special">&gt;</span> <span class="special">&amp;</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">&lt;</span> <span class="identifier">T2</span><span class="special">,</span> <span class="identifier">D2</span> <span class="special">&gt;</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
<span class="keyword">template</span><span class="special">&lt;</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">&gt;</span>
<span class="keyword">bool</span> <a class="link" href="../boost/movelib/operator_idp146331888.html" title="Function template operator&gt;"><span class="keyword">operator</span><span class="special">&gt;</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">&lt;</span> <span class="identifier">T1</span><span class="special">,</span> <span class="identifier">D1</span> <span class="special">&gt;</span> <span class="special">&amp;</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">&lt;</span> <span class="identifier">T2</span><span class="special">,</span> <span class="identifier">D2</span> <span class="special">&gt;</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
<span class="keyword">template</span><span class="special">&lt;</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">&gt;</span>
<span class="keyword">bool</span> <a class="link" href="../boost/movelib/operator___idp93199792.html" title="Function template operator&gt;="><span class="keyword">operator</span><span class="special">&gt;=</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">&lt;</span> <span class="identifier">T1</span><span class="special">,</span> <span class="identifier">D1</span> <span class="special">&gt;</span> <span class="special">&amp;</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">&lt;</span> <span class="identifier">T2</span><span class="special">,</span> <span class="identifier">D2</span> <span class="special">&gt;</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">typename</span> D<span class="special">&gt;</span>
<span class="keyword">bool</span> <a class="link" href="../boost/movelib/operator___idp147372224.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">&lt;</span> <span class="identifier">T</span><span class="special">,</span> <span class="identifier">D</span> <span class="special">&gt;</span> <span class="special">&amp;</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">&lt;</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">typename</span> D<span class="special">&gt;</span>
<span class="keyword">bool</span> <a class="link" href="../boost/movelib/operator___idp147377280.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">&lt;</span> <span class="identifier">T</span><span class="special">,</span> <span class="identifier">D</span> <span class="special">&gt;</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">typename</span> D<span class="special">&gt;</span>
<span class="keyword">bool</span> <a class="link" href="../boost/movelib/operator___idp147540624.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">&lt;</span> <span class="identifier">T</span><span class="special">,</span> <span class="identifier">D</span> <span class="special">&gt;</span> <span class="special">&amp;</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">&lt;</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">typename</span> D<span class="special">&gt;</span>
<span class="keyword">bool</span> <a class="link" href="../boost/movelib/operator___idp96303920.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">&lt;</span> <span class="identifier">T</span><span class="special">,</span> <span class="identifier">D</span> <span class="special">&gt;</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">typename</span> D<span class="special">&gt;</span>
<span class="keyword">bool</span> <a class="link" href="../boost/movelib/operator_idp96308976.html" title="Function template operator&lt;"><span class="keyword">operator</span><span class="special">&lt;</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">&lt;</span> <span class="identifier">T</span><span class="special">,</span> <span class="identifier">D</span> <span class="special">&gt;</span> <span class="special">&amp;</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">&lt;</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">typename</span> D<span class="special">&gt;</span>
<span class="keyword">bool</span> <a class="link" href="../boost/movelib/operator_idp96913984.html" title="Function template operator&lt;"><span class="keyword">operator</span><span class="special">&lt;</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">&lt;</span> <span class="identifier">T</span><span class="special">,</span> <span class="identifier">D</span> <span class="special">&gt;</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">typename</span> D<span class="special">&gt;</span>
<span class="keyword">bool</span> <a class="link" href="../boost/movelib/operator_idp103341216.html" title="Function template operator&gt;"><span class="keyword">operator</span><span class="special">&gt;</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">&lt;</span> <span class="identifier">T</span><span class="special">,</span> <span class="identifier">D</span> <span class="special">&gt;</span> <span class="special">&amp;</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">&lt;</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">typename</span> D<span class="special">&gt;</span>
<span class="keyword">bool</span> <a class="link" href="../boost/movelib/operator_idp142206336.html" title="Function template operator&gt;"><span class="keyword">operator</span><span class="special">&gt;</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">&lt;</span> <span class="identifier">T</span><span class="special">,</span> <span class="identifier">D</span> <span class="special">&gt;</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">typename</span> D<span class="special">&gt;</span>
<span class="keyword">bool</span> <a class="link" href="../boost/movelib/operator___idp205445440.html" title="Function template operator&lt;="><span class="keyword">operator</span><span class="special">&lt;=</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">&lt;</span> <span class="identifier">T</span><span class="special">,</span> <span class="identifier">D</span> <span class="special">&gt;</span> <span class="special">&amp;</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">&lt;</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">typename</span> D<span class="special">&gt;</span>
<span class="keyword">bool</span> <a class="link" href="../boost/movelib/operator___idp205450944.html" title="Function template operator&lt;="><span class="keyword">operator</span><span class="special">&lt;=</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">&lt;</span> <span class="identifier">T</span><span class="special">,</span> <span class="identifier">D</span> <span class="special">&gt;</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">typename</span> D<span class="special">&gt;</span>
<span class="keyword">bool</span> <a class="link" href="../boost/movelib/operator___idp153613344.html" title="Function template operator&gt;="><span class="keyword">operator</span><span class="special">&gt;=</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">&lt;</span> <span class="identifier">T</span><span class="special">,</span> <span class="identifier">D</span> <span class="special">&gt;</span> <span class="special">&amp;</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">&lt;</span><span class="keyword">typename</span> T<span class="special">,</span> <span class="keyword">typename</span> D<span class="special">&gt;</span>
<span class="keyword">bool</span> <a class="link" href="../boost/movelib/operator___idp90151040.html" title="Function template operator&gt;="><span class="keyword">operator</span><span class="special">&gt;=</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">&lt;</span> <span class="identifier">T</span><span class="special">,</span> <span class="identifier">D</span> <span class="special">&gt;</span> <span class="special">&amp;</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 &lt;<a href="../../../boost/move/utility.hpp" target="_top">boost/move/utility.hpp</a>&gt;</h3></div></div></div>
<p>This header includes core utilities from <code class="computeroutput">&lt;boost/move/utility_core.hpp&gt;</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">&lt;</span><span class="keyword">typename</span> T<span class="special">&gt;</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 &lt;<a href="../../../boost/move/utility_core.hpp" target="_top">boost/move/utility_core.hpp</a>&gt;</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">&lt;</span><span class="keyword">typename</span> T<span class="special">&gt;</span> <span class="keyword">struct</span> <a class="link" href="../boost/enable_move_ut_idp92452128.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">&lt;</span><span class="keyword">typename</span> T<span class="special">&gt;</span> <span class="identifier">rvalue_reference</span> <a class="link" href="../boost/move_idp92456928.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">&lt;</span><span class="keyword">typename</span> T<span class="special">&gt;</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">&lt;</span><span class="keyword">typename</span> T<span class="special">&gt;</span>
<span class="identifier">output_reference</span> <a name="boost.move_if_not_l_idp142372816"></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 &#169; 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>
</div></td>
</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/adl_move_swap.html"><img src="../../../doc/src/images/next.png" alt="Next"></a>
</div>
</body>
</html>