Imported Upstream version 1.57.0
[platform/upstream/boost.git] / doc / html / boost / intrusive / linear_slist_algorithms.html
1 <html>
2 <head>
3 <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
4 <title>Class template linear_slist_algorithms</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="../../intrusive/reference.html#header.boost.intrusive.linear_slist_algorithms_hpp" title="Header &lt;boost/intrusive/linear_slist_algorithms.hpp&gt;">
9 <link rel="prev" href="make_hashtable.html" title="Struct template make_hashtable">
10 <link rel="next" href="link_mode_type.html" title="Type link_mode_type">
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="make_hashtable.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../intrusive/reference.html#header.boost.intrusive.linear_slist_algorithms_hpp"><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="link_mode_type.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
24 </div>
25 <div class="refentry">
26 <a name="boost.intrusive.linear_slist_algorithms"></a><div class="titlepage"></div>
27 <div class="refnamediv">
28 <h2><span class="refentrytitle">Class template linear_slist_algorithms</span></h2>
29 <p>boost::intrusive::linear_slist_algorithms</p>
30 </div>
31 <h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2>
32 <div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="comment">// In header: &lt;<a class="link" href="../../intrusive/reference.html#header.boost.intrusive.linear_slist_algorithms_hpp" title="Header &lt;boost/intrusive/linear_slist_algorithms.hpp&gt;">boost/intrusive/linear_slist_algorithms.hpp</a>&gt;
33
34 </span><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> NodeTraits<span class="special">&gt;</span> 
35 <span class="keyword">class</span> <a class="link" href="linear_slist_algorithms.html" title="Class template linear_slist_algorithms">linear_slist_algorithms</a> <span class="special">{</span>
36 <span class="keyword">public</span><span class="special">:</span>
37   <span class="comment">// types</span>
38   <span class="keyword">typedef</span> <span class="identifier">NodeTraits</span><span class="special">::</span><span class="identifier">node</span>           <a name="boost.intrusive.linear_slist_algorithms.node"></a><span class="identifier">node</span><span class="special">;</span>          
39   <span class="keyword">typedef</span> <span class="identifier">NodeTraits</span><span class="special">::</span><span class="identifier">node_ptr</span>       <a name="boost.intrusive.linear_slist_algorithms.node_ptr"></a><span class="identifier">node_ptr</span><span class="special">;</span>      
40   <span class="keyword">typedef</span> <span class="identifier">NodeTraits</span><span class="special">::</span><span class="identifier">const_node_ptr</span> <a name="boost.intrusive.linear_slist_algorithms.const_node_ptr"></a><span class="identifier">const_node_ptr</span><span class="special">;</span>
41   <span class="keyword">typedef</span> <span class="identifier">NodeTraits</span>                 <a name="boost.intrusive.linear_slist_algorithms.node_traits"></a><span class="identifier">node_traits</span><span class="special">;</span>   
42
43   <span class="comment">// <a class="link" href="linear_slist_algorithms.html#idp63309568-bb">public static functions</a></span>
44   <span class="keyword">static</span> <span class="keyword">void</span> <a class="link" href="linear_slist_algorithms.html#idp63310128-bb"><span class="identifier">init</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">node_ptr</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
45   <span class="keyword">static</span> <span class="keyword">bool</span> <a class="link" href="linear_slist_algorithms.html#idp63314992-bb"><span class="identifier">unique</span></a><span class="special">(</span><span class="identifier">const_node_ptr</span><span class="special">)</span><span class="special">;</span>
46   <span class="keyword">static</span> <span class="keyword">bool</span> <a class="link" href="linear_slist_algorithms.html#idp63320816-bb"><span class="identifier">inited</span></a><span class="special">(</span><span class="identifier">const_node_ptr</span><span class="special">)</span><span class="special">;</span>
47   <span class="keyword">static</span> <span class="keyword">void</span> <a class="link" href="linear_slist_algorithms.html#idp63325376-bb"><span class="identifier">unlink_after</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">node_ptr</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
48   <span class="keyword">static</span> <span class="keyword">void</span> <a class="link" href="linear_slist_algorithms.html#idp63330800-bb"><span class="identifier">unlink_after</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">node_ptr</span> <span class="special">&amp;</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">node_ptr</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
49   <span class="keyword">static</span> <span class="keyword">void</span> <a class="link" href="linear_slist_algorithms.html#idp63336928-bb"><span class="identifier">link_after</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">node_ptr</span> <span class="special">&amp;</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">node_ptr</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
50   <span class="keyword">static</span> <span class="keyword">void</span> <a class="link" href="linear_slist_algorithms.html#idp63343008-bb"><span class="identifier">transfer_after</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">node_ptr</span> <span class="special">&amp;</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">node_ptr</span> <span class="special">&amp;</span><span class="special">,</span> 
51                              <span class="keyword">const</span> <span class="identifier">node_ptr</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
52   <span class="keyword">static</span> <span class="keyword">void</span> <a class="link" href="linear_slist_algorithms.html#idp63349904-bb"><span class="identifier">init_header</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">node_ptr</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
53   <span class="keyword">static</span> <span class="identifier">node_ptr</span> <a class="link" href="linear_slist_algorithms.html#idp63354928-bb"><span class="identifier">get_previous_node</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">node_ptr</span> <span class="special">&amp;</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">node_ptr</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
54   <span class="keyword">static</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a class="link" href="linear_slist_algorithms.html#idp63361216-bb"><span class="identifier">count</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">const_node_ptr</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
55   <span class="keyword">static</span> <span class="keyword">void</span> <a class="link" href="linear_slist_algorithms.html#idp63366656-bb"><span class="identifier">swap_trailing_nodes</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">node_ptr</span> <span class="special">&amp;</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">node_ptr</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
56   <span class="keyword">static</span> <span class="identifier">node_ptr</span> <a class="link" href="linear_slist_algorithms.html#idp63372832-bb"><span class="identifier">reverse</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">node_ptr</span> <span class="special">&amp;</span><span class="special">)</span><span class="special">;</span>
57   <span class="keyword">static</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span><span class="special">&lt;</span> <span class="identifier">node_ptr</span><span class="special">,</span> <span class="identifier">node_ptr</span> <span class="special">&gt;</span> 
58   <a class="link" href="linear_slist_algorithms.html#idp63378240-bb"><span class="identifier">move_first_n_backwards</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">node_ptr</span> <span class="special">&amp;</span><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>
59   <span class="keyword">static</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span><span class="special">&lt;</span> <span class="identifier">node_ptr</span><span class="special">,</span> <span class="identifier">node_ptr</span> <span class="special">&gt;</span> 
60   <a class="link" href="linear_slist_algorithms.html#idp63384480-bb"><span class="identifier">move_first_n_forward</span></a><span class="special">(</span><span class="keyword">const</span> <span class="identifier">node_ptr</span> <span class="special">&amp;</span><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>
61 <span class="special">}</span><span class="special">;</span></pre></div>
62 <div class="refsect1">
63 <a name="idp284411056"></a><h2>Description</h2>
64 <p><a class="link" href="linear_slist_algorithms.html" title="Class template linear_slist_algorithms">linear_slist_algorithms</a> provides basic algorithms to manipulate nodes forming a linear singly linked list.</p>
65 <p><a class="link" href="linear_slist_algorithms.html" title="Class template linear_slist_algorithms">linear_slist_algorithms</a> is configured with a NodeTraits class, which encapsulates the information about the node to be manipulated. NodeTraits must support the following interface:</p>
66 <p><span class="bold"><strong>Typedefs</strong></span>:</p>
67 <p><code class="computeroutput">node</code>: The type of the node that forms the linear list</p>
68 <p><code class="computeroutput">node_ptr</code>: A pointer to a node</p>
69 <p><code class="computeroutput">const_node_ptr</code>: A pointer to a const node</p>
70 <p><span class="bold"><strong>Static functions</strong></span>:</p>
71 <p><code class="computeroutput">static node_ptr get_next(const_node_ptr n);</code></p>
72 <p><code class="computeroutput">static void set_next(node_ptr n, node_ptr next);</code> </p>
73 <div class="refsect2">
74 <a name="idp284419456"></a><h3>
75 <a name="idp63309568-bb"></a><code class="computeroutput">linear_slist_algorithms</code> public static functions</h3>
76 <div class="orderedlist"><ol class="orderedlist" type="1">
77 <li class="listitem">
78 <pre class="literallayout"><span class="keyword">static</span> <span class="keyword">void</span> <a name="idp63310128-bb"></a><span class="identifier">init</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">node_ptr</span> <span class="special">&amp;</span> this_node<span class="special">)</span><span class="special">;</span></pre>
79 <p><span class="bold"><strong>Effects</strong></span>: Constructs an non-used list element, putting the next pointer to null: <code class="computeroutput">NodeTraits::get_next(this_node) == node_ptr()</code></p>
80 <p><span class="bold"><strong>Complexity</strong></span>: Constant</p>
81 <p><span class="bold"><strong>Throws</strong></span>: Nothing. </p>
82 </li>
83 <li class="listitem">
84 <pre class="literallayout"><span class="keyword">static</span> <span class="keyword">bool</span> <a name="idp63314992-bb"></a><span class="identifier">unique</span><span class="special">(</span><span class="identifier">const_node_ptr</span> this_node<span class="special">)</span><span class="special">;</span></pre>
85 <p><span class="bold"><strong>Requires</strong></span>: this_node must be in a circular list or be an empty circular list.</p>
86 <p><span class="bold"><strong>Effects</strong></span>: Returns true is "this_node" is the only node of a circular list: or it's a not inserted node: <code class="computeroutput">return node_ptr() == NodeTraits::get_next(this_node) || NodeTraits::get_next(this_node) == this_node</code></p>
87 <p><span class="bold"><strong>Complexity</strong></span>: Constant</p>
88 <p><span class="bold"><strong>Throws</strong></span>: Nothing. </p>
89 </li>
90 <li class="listitem">
91 <pre class="literallayout"><span class="keyword">static</span> <span class="keyword">bool</span> <a name="idp63320816-bb"></a><span class="identifier">inited</span><span class="special">(</span><span class="identifier">const_node_ptr</span> this_node<span class="special">)</span><span class="special">;</span></pre>
92 <p><span class="bold"><strong>Effects</strong></span>: Returns true is "this_node" has the same state as if it was inited using "init(node_ptr)"</p>
93 <p><span class="bold"><strong>Complexity</strong></span>: Constant</p>
94 <p><span class="bold"><strong>Throws</strong></span>: Nothing. </p>
95 </li>
96 <li class="listitem">
97 <pre class="literallayout"><span class="keyword">static</span> <span class="keyword">void</span> <a name="idp63325376-bb"></a><span class="identifier">unlink_after</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">node_ptr</span> <span class="special">&amp;</span> prev_node<span class="special">)</span><span class="special">;</span></pre>
98 <p><span class="bold"><strong>Requires</strong></span>: prev_node must be in a circular list or be an empty circular list.</p>
99 <p><span class="bold"><strong>Effects</strong></span>: Unlinks the next node of prev_node from the circular list.</p>
100 <p><span class="bold"><strong>Complexity</strong></span>: Constant</p>
101 <p><span class="bold"><strong>Throws</strong></span>: Nothing. </p>
102 </li>
103 <li class="listitem">
104 <pre class="literallayout"><span class="keyword">static</span> <span class="keyword">void</span> <a name="idp63330800-bb"></a><span class="identifier">unlink_after</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">node_ptr</span> <span class="special">&amp;</span> prev_node<span class="special">,</span> 
105                          <span class="keyword">const</span> <span class="identifier">node_ptr</span> <span class="special">&amp;</span> last_node<span class="special">)</span><span class="special">;</span></pre>
106 <p><span class="bold"><strong>Requires</strong></span>: prev_node and last_node must be in a circular list or be an empty circular list.</p>
107 <p><span class="bold"><strong>Effects</strong></span>: Unlinks the range (prev_node, last_node) from the linear list.</p>
108 <p><span class="bold"><strong>Complexity</strong></span>: Constant</p>
109 <p><span class="bold"><strong>Throws</strong></span>: Nothing. </p>
110 </li>
111 <li class="listitem">
112 <pre class="literallayout"><span class="keyword">static</span> <span class="keyword">void</span> <a name="idp63336928-bb"></a><span class="identifier">link_after</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">node_ptr</span> <span class="special">&amp;</span> prev_node<span class="special">,</span> <span class="keyword">const</span> <span class="identifier">node_ptr</span> <span class="special">&amp;</span> this_node<span class="special">)</span><span class="special">;</span></pre>
113 <p><span class="bold"><strong>Requires</strong></span>: prev_node must be a node of a linear list.</p>
114 <p><span class="bold"><strong>Effects</strong></span>: Links this_node after prev_node in the linear list.</p>
115 <p><span class="bold"><strong>Complexity</strong></span>: Constant</p>
116 <p><span class="bold"><strong>Throws</strong></span>: Nothing. </p>
117 </li>
118 <li class="listitem">
119 <pre class="literallayout"><span class="keyword">static</span> <span class="keyword">void</span> <a name="idp63343008-bb"></a><span class="identifier">transfer_after</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">node_ptr</span> <span class="special">&amp;</span> p<span class="special">,</span> <span class="keyword">const</span> <span class="identifier">node_ptr</span> <span class="special">&amp;</span> b<span class="special">,</span> 
120                            <span class="keyword">const</span> <span class="identifier">node_ptr</span> <span class="special">&amp;</span> e<span class="special">)</span><span class="special">;</span></pre>
121 <p><span class="bold"><strong>Requires</strong></span>: b and e must be nodes of the same linear list or an empty range. and p must be a node of a different linear list.</p>
122 <p><span class="bold"><strong>Effects</strong></span>: Removes the nodes from (b, e] range from their linear list and inserts them after p in p's linear list.</p>
123 <p><span class="bold"><strong>Complexity</strong></span>: Constant</p>
124 <p><span class="bold"><strong>Throws</strong></span>: Nothing. </p>
125 </li>
126 <li class="listitem">
127 <pre class="literallayout"><span class="keyword">static</span> <span class="keyword">void</span> <a name="idp63349904-bb"></a><span class="identifier">init_header</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">node_ptr</span> <span class="special">&amp;</span> this_node<span class="special">)</span><span class="special">;</span></pre>
128 <p><span class="bold"><strong>Effects</strong></span>: Constructs an empty list, making this_node the only node of the circular list: <code class="computeroutput">NodeTraits::get_next(this_node) == this_node</code>.</p>
129 <p><span class="bold"><strong>Complexity</strong></span>: Constant</p>
130 <p><span class="bold"><strong>Throws</strong></span>: Nothing. </p>
131 </li>
132 <li class="listitem">
133 <pre class="literallayout"><span class="keyword">static</span> <span class="identifier">node_ptr</span> 
134 <a name="idp63354928-bb"></a><span class="identifier">get_previous_node</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">node_ptr</span> <span class="special">&amp;</span> prev_init_node<span class="special">,</span> <span class="keyword">const</span> <span class="identifier">node_ptr</span> <span class="special">&amp;</span> this_node<span class="special">)</span><span class="special">;</span></pre>
135 <p><span class="bold"><strong>Requires</strong></span>: this_node and prev_init_node must be in the same linear list.</p>
136 <p><span class="bold"><strong>Effects</strong></span>: Returns the previous node of this_node in the linear list starting. the search from prev_init_node. The first node checked for equality is NodeTraits::get_next(prev_init_node).</p>
137 <p><span class="bold"><strong>Complexity</strong></span>: Linear to the number of elements between prev_init_node and this_node.</p>
138 <p><span class="bold"><strong>Throws</strong></span>: Nothing. </p>
139 </li>
140 <li class="listitem">
141 <pre class="literallayout"><span class="keyword">static</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <a name="idp63361216-bb"></a><span class="identifier">count</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">const_node_ptr</span> <span class="special">&amp;</span> this_node<span class="special">)</span><span class="special">;</span></pre>
142 <p><span class="bold"><strong>Requires</strong></span>: this_node must be in a linear list or be an empty linear list.</p>
143 <p><span class="bold"><strong>Effects</strong></span>: Returns the number of nodes in a linear list. If the linear list is empty, returns 1.</p>
144 <p><span class="bold"><strong>Complexity</strong></span>: Linear</p>
145 <p><span class="bold"><strong>Throws</strong></span>: Nothing. </p>
146 </li>
147 <li class="listitem">
148 <pre class="literallayout"><span class="keyword">static</span> <span class="keyword">void</span> <a name="idp63366656-bb"></a><span class="identifier">swap_trailing_nodes</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">node_ptr</span> <span class="special">&amp;</span> this_node<span class="special">,</span> 
149                                 <span class="keyword">const</span> <span class="identifier">node_ptr</span> <span class="special">&amp;</span> other_node<span class="special">)</span><span class="special">;</span></pre>
150 <p><span class="bold"><strong>Requires</strong></span>: this_node and other_node must be nodes inserted in linear lists or be empty linear lists.</p>
151 <p><span class="bold"><strong>Effects</strong></span>: Moves all the nodes previously chained after this_node after other_node and vice-versa.</p>
152 <p><span class="bold"><strong>Complexity</strong></span>: Constant</p>
153 <p><span class="bold"><strong>Throws</strong></span>: Nothing. </p>
154 </li>
155 <li class="listitem">
156 <pre class="literallayout"><span class="keyword">static</span> <span class="identifier">node_ptr</span> <a name="idp63372832-bb"></a><span class="identifier">reverse</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">node_ptr</span> <span class="special">&amp;</span> p<span class="special">)</span><span class="special">;</span></pre>
157 <p><span class="bold"><strong>Effects</strong></span>: Reverses the order of elements in the list.</p>
158 <p><span class="bold"><strong>Returns</strong></span>: The new first node of the list.</p>
159 <p><span class="bold"><strong>Throws</strong></span>: Nothing.</p>
160 <p><span class="bold"><strong>Complexity</strong></span>: This function is linear to the contained elements. </p>
161 </li>
162 <li class="listitem">
163 <pre class="literallayout"><span class="keyword">static</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span><span class="special">&lt;</span> <span class="identifier">node_ptr</span><span class="special">,</span> <span class="identifier">node_ptr</span> <span class="special">&gt;</span> 
164 <a name="idp63378240-bb"></a><span class="identifier">move_first_n_backwards</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">node_ptr</span> <span class="special">&amp;</span> p<span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> n<span class="special">)</span><span class="special">;</span></pre>
165 <p><span class="bold"><strong>Effects</strong></span>: Moves the first n nodes starting at p to the end of the list.</p>
166 <p><span class="bold"><strong>Returns</strong></span>: A pair containing the new first and last node of the list or if there has been any movement, a null pair if n leads to no movement.</p>
167 <p><span class="bold"><strong>Throws</strong></span>: Nothing.</p>
168 <p><span class="bold"><strong>Complexity</strong></span>: Linear to the number of elements plus the number moved positions. </p>
169 </li>
170 <li class="listitem">
171 <pre class="literallayout"><span class="keyword">static</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span><span class="special">&lt;</span> <span class="identifier">node_ptr</span><span class="special">,</span> <span class="identifier">node_ptr</span> <span class="special">&gt;</span> 
172 <a name="idp63384480-bb"></a><span class="identifier">move_first_n_forward</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">node_ptr</span> <span class="special">&amp;</span> p<span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> n<span class="special">)</span><span class="special">;</span></pre>
173 <p><span class="bold"><strong>Effects</strong></span>: Moves the first n nodes starting at p to the beginning of the list.</p>
174 <p><span class="bold"><strong>Returns</strong></span>: A pair containing the new first and last node of the list or if there has been any movement, a null pair if n leads to no movement.</p>
175 <p><span class="bold"><strong>Throws</strong></span>: Nothing.</p>
176 <p><span class="bold"><strong>Complexity</strong></span>: Linear to the number of elements plus the number moved positions. </p>
177 </li>
178 </ol></div>
179 </div>
180 </div>
181 </div>
182 <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
183 <td align="left"></td>
184 <td align="right"><div class="copyright-footer">Copyright &#169; 2005 Olaf Krzikalla<br>Copyright &#169; 2006-2013 Ion Gaztanaga<p>
185         Distributed under the Boost Software License, Version 1.0. (See accompanying
186         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>)
187       </p>
188 </div></td>
189 </tr></table>
190 <hr>
191 <div class="spirit-nav">
192 <a accesskey="p" href="make_hashtable.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../intrusive/reference.html#header.boost.intrusive.linear_slist_algorithms_hpp"><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="link_mode_type.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
193 </div>
194 </body>
195 </html>