Imported Upstream version 1.57.0
[platform/upstream/boost.git] / doc / html / move / reference.html
1 <html>
2 <head>
3 <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
4 <title>Reference</title>
5 <link rel="stylesheet" href="../../../doc/src/boostbook.css" type="text/css">
6 <meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
7 <link rel="home" href="../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset">
8 <link rel="up" href="../move.html" title="Chapter&#160;19.&#160;Boost.Move">
9 <link rel="prev" href="release_notes.html" title="Release Notes">
10 <link rel="next" href="../boost/move_idp105408384.html" title="Function template move">
11 </head>
12 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
13 <table cellpadding="2" width="100%"><tr>
14 <td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../boost.png"></td>
15 <td align="center"><a href="../../../index.html">Home</a></td>
16 <td align="center"><a href="../../../libs/libraries.htm">Libraries</a></td>
17 <td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
18 <td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
19 <td align="center"><a href="../../../more/index.htm">More</a></td>
20 </tr></table>
21 <hr>
22 <div class="spirit-nav">
23 <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>
24 </div>
25 <div class="section">
26 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
27 <a name="move.reference"></a>Reference</h2></div></div></div>
28 <div class="toc"><dl class="toc">
29 <dt><span class="section"><a href="reference.html#header.boost.move.algorithm_hpp">Header &lt;boost/move/algorithm.hpp&gt;</a></span></dt>
30 <dt><span class="section"><a href="reference.html#header.boost.move.core_hpp">Header &lt;boost/move/core.hpp&gt;</a></span></dt>
31 <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>
32 <dt><span class="section"><a href="reference.html#header.boost.move.iterator_hpp">Header &lt;boost/move/iterator.hpp&gt;</a></span></dt>
33 <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>
34 <dt><span class="section"><a href="reference.html#header.boost.move.move_hpp">Header &lt;boost/move/move.hpp&gt;</a></span></dt>
35 <dt><span class="section"><a href="reference.html#header.boost.move.traits_hpp">Header &lt;boost/move/traits.hpp&gt;</a></span></dt>
36 <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>
37 <dt><span class="section"><a href="reference.html#header.boost.move.utility_hpp">Header &lt;boost/move/utility.hpp&gt;</a></span></dt>
38 <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>
39 </dl></div>
40 <div class="section">
41 <div class="titlepage"><div><div><h3 class="title">
42 <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>
43 <pre class="synopsis"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
44   <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_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>
45   <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>
46   <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>
47   <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>
48   <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>
49 <span class="special">}</span></pre>
50 </div>
51 <div class="section">
52 <div class="titlepage"><div><div><h3 class="title">
53 <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>
54 <p>This header implements macros to define movable classes and move-aware functions </p>
55 <pre class="synopsis">
56
57 <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)
58 <a class="link" href="../BOOST_MOVABLE_BUT_NOT_COPYABLE.html" title="Macro BOOST_MOVABLE_BUT_NOT_COPYABLE">BOOST_MOVABLE_BUT_NOT_COPYABLE</a>(TYPE)
59 <a class="link" href="../BOOST_COPYABLE_AND_MOVABLE.html" title="Macro BOOST_COPYABLE_AND_MOVABLE">BOOST_COPYABLE_AND_MOVABLE</a>(TYPE)
60 <a class="link" href="../BOOST_RV_REF.html" title="Macro BOOST_RV_REF">BOOST_RV_REF</a>(TYPE)
61 <a class="link" href="../BOOST_RV_REF_BEG.html" title="Macro BOOST_RV_REF_BEG">BOOST_RV_REF_BEG</a>
62 <a class="link" href="../BOOST_RV_REF_END.html" title="Macro BOOST_RV_REF_END">BOOST_RV_REF_END</a>
63 <a class="link" href="../BOOST_COPY_ASSIGN_REF.html" title="Macro BOOST_COPY_ASSIGN_REF">BOOST_COPY_ASSIGN_REF</a>(TYPE)
64 <a class="link" href="../BOOST_FWD_REF.html" title="Macro BOOST_FWD_REF">BOOST_FWD_REF</a>(TYPE)
65 <a class="link" href="../BOOST_MOVE_RET.html" title="Macro BOOST_MOVE_RET">BOOST_MOVE_RET</a>(RET_TYPE, REF)</pre>
66 <pre class="synopsis"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
67   <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>
68 <span class="special">}</span></pre>
69 </div>
70 <div class="section">
71 <div class="titlepage"><div><div><h3 class="title">
72 <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>
73 <p>Describes the default deleter (destruction policy) of <code class="computeroutput">unique_ptr</code>: <code class="computeroutput">default_delete</code>. </p>
74 <pre class="synopsis"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
75   <span class="keyword">namespace</span> <span class="identifier">move_upd</span> <span class="special">{</span>
76     <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>
77     <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> 
78       <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>
79     <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> 
80       <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>
81     <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>
82
83     <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>
84
85     <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>
86   <span class="special">}</span>
87   <span class="keyword">namespace</span> <span class="identifier">movelib</span> <span class="special">{</span>
88     <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>
89   <span class="special">}</span>
90 <span class="special">}</span></pre>
91 </div>
92 <div class="section">
93 <div class="titlepage"><div><div><h3 class="title">
94 <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>
95 <pre class="synopsis"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
96   <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>
97   <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>
98   <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>
99   <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>
100   <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>
101   <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>
102   <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> C<span class="special">&gt;</span> 
103     <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>
104   <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> C<span class="special">&gt;</span> 
105     <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>
106 <span class="special">}</span></pre>
107 </div>
108 <div class="section">
109 <div class="titlepage"><div><div><h3 class="title">
110 <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>
111 <p>Defines "make_unique" functions, which are factories to create instances of unique_ptr depending on the passed arguments.</p>
112 <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>
113 <pre class="synopsis"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
114   <span class="keyword">namespace</span> <span class="identifier">movelib</span> <span class="special">{</span>
115     <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> 
116       <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_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">&amp;&amp;</span><span class="special">...</span><span class="special">)</span><span class="special">;</span>
117     <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> 
118       <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_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">&amp;&amp;</span><span class="special">...</span><span class="special">)</span><span class="special">;</span>
119     <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_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>
120     <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_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>
121     <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_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>
122     <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_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>
123     <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_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>
124     <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">&gt;</span> 
125       <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_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>
126     <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_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">&amp;&amp;</span><span class="special">)</span><span class="special">;</span>
127     <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> 
128       <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">&amp;&amp;</span><span class="special">)</span><span class="special">;</span>
129     <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> 
130       <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">&amp;&amp;</span><span class="special">)</span><span class="special">;</span>
131     <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> 
132       <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">&amp;&amp;</span><span class="special">)</span><span class="special">;</span>
133   <span class="special">}</span>
134 <span class="special">}</span></pre>
135 </div>
136 <div class="section">
137 <div class="titlepage"><div><div><h3 class="title">
138 <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>
139 <p>A general library header that includes the rest of top-level headers. </p>
140 </div>
141 <div class="section">
142 <div class="titlepage"><div><div><h3 class="title">
143 <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>
144 <pre class="synopsis"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
145   <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_d_idp150802208.html" title="Struct template has_trivial_destructor_after_move">has_trivial_destructor_after_move</a><span class="special">;</span>
146   <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>
147 <span class="special">}</span></pre>
148 </div>
149 <div class="section">
150 <div class="titlepage"><div><div><h3 class="title">
151 <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>
152 <p>Describes the smart pointer unique_ptr, a drop-in replacement for std::unique_ptr, usable also from C++03 compilers.</p>
153 <p>Main differences from std::unique_ptr to avoid heavy dependencies, specially in C++03 compilers:</p>
154 <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
155 <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>
156 <li class="listitem"><p>assignable from literal 0 for compilers without nullptr</p></li>
157 <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>
158 </ul></div>
159 <p>
160 </p>
161 <pre class="synopsis"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
162   <span class="keyword">namespace</span> <span class="identifier">move_upd</span> <span class="special">{</span>
163     <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>
164     <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> 
165              <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> 
166       <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>
167
168     <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_da_idp151888768.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>
169
170     <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>
171
172     <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_idp146280688.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>
173
174     <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>
175     <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_idp103067728.html" title="Struct template is_same_cvelement_and_convertible">is_same_cvelement_and_convertible</a><span class="special">;</span>
176     <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> 
177       <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>
178
179     <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> 
180       <span class="keyword">struct</span> <a class="link" href="../boost/move_upd/is_unique_ptr_idp156082704.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>
181
182     <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> 
183              <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> 
184       <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>
185     <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> 
186       <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>
187     <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> 
188              <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> 
189       <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>
190     <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> 
191              <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> 
192       <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>
193
194     <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>
195
196     <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> 
197       <span class="keyword">struct</span> <a class="link" href="../boost/move_upd/unique_delete_idp146577344.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>
198
199     <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> 
200              <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> 
201       <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>
202   <span class="special">}</span>
203   <span class="keyword">namespace</span> <span class="identifier">movelib</span> <span class="special">{</span>
204     <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>
205     <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> 
206       <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">&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>
207     <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> 
208       <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">&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> 
209                       <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>
210     <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> 
211       <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">&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> 
212                       <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>
213     <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> 
214       <span class="keyword">bool</span> <a class="link" href="../boost/movelib/operator_idp202777392.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> 
215                      <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>
216     <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> 
217       <span class="keyword">bool</span> <a class="link" href="../boost/movelib/operator___idp202746400.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> 
218                       <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>
219     <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> 
220       <span class="keyword">bool</span> <a class="link" href="../boost/movelib/operator_idp199897216.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> 
221                      <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>
222     <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> 
223       <span class="keyword">bool</span> <a class="link" href="../boost/movelib/operator___idp153672080.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> 
224                       <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>
225     <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> 
226       <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">&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>
227     <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> 
228       <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">&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>
229     <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> 
230       <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">&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>
231     <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> 
232       <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">&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>
233     <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> 
234       <span class="keyword">bool</span> <a class="link" href="../boost/movelib/operator_idp150805968.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>
235     <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> 
236       <span class="keyword">bool</span> <a class="link" href="../boost/movelib/operator_idp154714400.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>
237     <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> 
238       <span class="keyword">bool</span> <a class="link" href="../boost/movelib/operator_idp154721168.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>
239     <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> 
240       <span class="keyword">bool</span> <a class="link" href="../boost/movelib/operator_idp143934048.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>
241     <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> 
242       <span class="keyword">bool</span> <a class="link" href="../boost/movelib/operator___idp143980080.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>
243     <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> 
244       <span class="keyword">bool</span> <a class="link" href="../boost/movelib/operator___idp144603088.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>
245     <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> 
246       <span class="keyword">bool</span> <a class="link" href="../boost/movelib/operator___idp144608592.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>
247     <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> 
248       <span class="keyword">bool</span> <a class="link" href="../boost/movelib/operator___idp161526352.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>
249   <span class="special">}</span>
250 <span class="special">}</span></pre>
251 </div>
252 <div class="section">
253 <div class="titlepage"><div><div><h3 class="title">
254 <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>
255 <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>
256 <pre class="synopsis"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
257   <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">&gt;</span> 
258     <span class="identifier">rvalue_reference_or_const_lvalue_reference</span> 
259     <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>
260 <span class="special">}</span></pre>
261 </div>
262 <div class="section">
263 <div class="titlepage"><div><div><h3 class="title">
264 <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>
265 <p>This header defines core utilities to ease the development of move-aware functions. This header minimizes dependencies from other libraries. </p>
266 <pre class="synopsis"><span class="keyword">namespace</span> <span class="identifier">boost</span> <span class="special">{</span>
267   <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_u_idp225112608.html" title="Struct template enable_move_utility_emulation">enable_move_utility_emulation</a><span class="special">;</span>
268   <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_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>
269   <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>
270   <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> T<span class="special">&gt;</span> 
271     <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>
272 <span class="special">}</span></pre>
273 </div>
274 </div>
275 <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
276 <td align="left"></td>
277 <td align="right"><div class="copyright-footer">Copyright &#169; 2008-2014 Ion Gaztanaga<p>
278         Distributed under the Boost Software License, Version 1.0. (See accompanying
279         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>)
280       </p>
281 </div></td>
282 </tr></table>
283 <hr>
284 <div class="spirit-nav">
285 <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>
286 </div>
287 </body>
288 </html>