diff options
Diffstat (limited to 'doc/html/boost/intrusive/linear_slist_algorithms.html')
-rw-r--r-- | doc/html/boost/intrusive/linear_slist_algorithms.html | 64 |
1 files changed, 32 insertions, 32 deletions
diff --git a/doc/html/boost/intrusive/linear_slist_algorithms.html b/doc/html/boost/intrusive/linear_slist_algorithms.html index 217322672f..a0f867a13b 100644 --- a/doc/html/boost/intrusive/linear_slist_algorithms.html +++ b/doc/html/boost/intrusive/linear_slist_algorithms.html @@ -40,27 +40,27 @@ <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> <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> - <span class="comment">// <a class="link" href="linear_slist_algorithms.html#idp63309568-bb">public static functions</a></span> - <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">&</span><span class="special">)</span><span class="special">;</span> - <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> - <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> - <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">&</span><span class="special">)</span><span class="special">;</span> - <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">&</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">node_ptr</span> <span class="special">&</span><span class="special">)</span><span class="special">;</span> - <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">&</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">node_ptr</span> <span class="special">&</span><span class="special">)</span><span class="special">;</span> - <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">&</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">node_ptr</span> <span class="special">&</span><span class="special">,</span> + <span class="comment">// <a class="link" href="linear_slist_algorithms.html#idp55570032-bb">public static functions</a></span> + <span class="keyword">static</span> <span class="keyword">void</span> <a class="link" href="linear_slist_algorithms.html#idp55570592-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">&</span><span class="special">)</span><span class="special">;</span> + <span class="keyword">static</span> <span class="keyword">bool</span> <a class="link" href="linear_slist_algorithms.html#idp55575456-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> + <span class="keyword">static</span> <span class="keyword">bool</span> <a class="link" href="linear_slist_algorithms.html#idp55581280-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> + <span class="keyword">static</span> <span class="keyword">void</span> <a class="link" href="linear_slist_algorithms.html#idp55585840-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">&</span><span class="special">)</span><span class="special">;</span> + <span class="keyword">static</span> <span class="keyword">void</span> <a class="link" href="linear_slist_algorithms.html#idp55591264-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">&</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">node_ptr</span> <span class="special">&</span><span class="special">)</span><span class="special">;</span> + <span class="keyword">static</span> <span class="keyword">void</span> <a class="link" href="linear_slist_algorithms.html#idp55597392-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">&</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">node_ptr</span> <span class="special">&</span><span class="special">)</span><span class="special">;</span> + <span class="keyword">static</span> <span class="keyword">void</span> <a class="link" href="linear_slist_algorithms.html#idp55603472-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">&</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">node_ptr</span> <span class="special">&</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">node_ptr</span> <span class="special">&</span><span class="special">)</span><span class="special">;</span> - <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">&</span><span class="special">)</span><span class="special">;</span> - <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">&</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">node_ptr</span> <span class="special">&</span><span class="special">)</span><span class="special">;</span> - <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">&</span><span class="special">)</span><span class="special">;</span> - <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">&</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">node_ptr</span> <span class="special">&</span><span class="special">)</span><span class="special">;</span> - <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">&</span><span class="special">)</span><span class="special">;</span> + <span class="keyword">static</span> <span class="keyword">void</span> <a class="link" href="linear_slist_algorithms.html#idp55610368-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">&</span><span class="special">)</span><span class="special">;</span> + <span class="keyword">static</span> <span class="identifier">node_ptr</span> <a class="link" href="linear_slist_algorithms.html#idp55615392-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">&</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">node_ptr</span> <span class="special">&</span><span class="special">)</span><span class="special">;</span> + <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#idp55621680-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">&</span><span class="special">)</span><span class="special">;</span> + <span class="keyword">static</span> <span class="keyword">void</span> <a class="link" href="linear_slist_algorithms.html#idp55627120-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">&</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">node_ptr</span> <span class="special">&</span><span class="special">)</span><span class="special">;</span> + <span class="keyword">static</span> <span class="identifier">node_ptr</span> <a class="link" href="linear_slist_algorithms.html#idp55633296-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">&</span><span class="special">)</span><span class="special">;</span> <span class="keyword">static</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span><span class="special"><</span> <span class="identifier">node_ptr</span><span class="special">,</span> <span class="identifier">node_ptr</span> <span class="special">></span> - <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">&</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> + <a class="link" href="linear_slist_algorithms.html#idp55638704-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">&</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> <span class="keyword">static</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span><span class="special"><</span> <span class="identifier">node_ptr</span><span class="special">,</span> <span class="identifier">node_ptr</span> <span class="special">></span> - <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">&</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> + <a class="link" href="linear_slist_algorithms.html#idp55644944-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">&</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> <span class="special">}</span><span class="special">;</span></pre></div> <div class="refsect1"> -<a name="idp284411056"></a><h2>Description</h2> +<a name="idp277745856"></a><h2>Description</h2> <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> <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> <p><span class="bold"><strong>Typedefs</strong></span>:</p> @@ -71,37 +71,37 @@ <p><code class="computeroutput">static node_ptr get_next(const_node_ptr n);</code></p> <p><code class="computeroutput">static void set_next(node_ptr n, node_ptr next);</code> </p> <div class="refsect2"> -<a name="idp284419456"></a><h3> -<a name="idp63309568-bb"></a><code class="computeroutput">linear_slist_algorithms</code> public static functions</h3> +<a name="idp277754256"></a><h3> +<a name="idp55570032-bb"></a><code class="computeroutput">linear_slist_algorithms</code> public static functions</h3> <div class="orderedlist"><ol class="orderedlist" type="1"> <li class="listitem"> -<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">&</span> this_node<span class="special">)</span><span class="special">;</span></pre> +<pre class="literallayout"><span class="keyword">static</span> <span class="keyword">void</span> <a name="idp55570592-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">&</span> this_node<span class="special">)</span><span class="special">;</span></pre> <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> <p><span class="bold"><strong>Complexity</strong></span>: Constant</p> <p><span class="bold"><strong>Throws</strong></span>: Nothing. </p> </li> <li class="listitem"> -<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> +<pre class="literallayout"><span class="keyword">static</span> <span class="keyword">bool</span> <a name="idp55575456-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> <p><span class="bold"><strong>Requires</strong></span>: this_node must be in a circular list or be an empty circular list.</p> <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> <p><span class="bold"><strong>Complexity</strong></span>: Constant</p> <p><span class="bold"><strong>Throws</strong></span>: Nothing. </p> </li> <li class="listitem"> -<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> +<pre class="literallayout"><span class="keyword">static</span> <span class="keyword">bool</span> <a name="idp55581280-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> <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> <p><span class="bold"><strong>Complexity</strong></span>: Constant</p> <p><span class="bold"><strong>Throws</strong></span>: Nothing. </p> </li> <li class="listitem"> -<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">&</span> prev_node<span class="special">)</span><span class="special">;</span></pre> +<pre class="literallayout"><span class="keyword">static</span> <span class="keyword">void</span> <a name="idp55585840-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">&</span> prev_node<span class="special">)</span><span class="special">;</span></pre> <p><span class="bold"><strong>Requires</strong></span>: prev_node must be in a circular list or be an empty circular list.</p> <p><span class="bold"><strong>Effects</strong></span>: Unlinks the next node of prev_node from the circular list.</p> <p><span class="bold"><strong>Complexity</strong></span>: Constant</p> <p><span class="bold"><strong>Throws</strong></span>: Nothing. </p> </li> <li class="listitem"> -<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">&</span> prev_node<span class="special">,</span> +<pre class="literallayout"><span class="keyword">static</span> <span class="keyword">void</span> <a name="idp55591264-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">&</span> prev_node<span class="special">,</span> <span class="keyword">const</span> <span class="identifier">node_ptr</span> <span class="special">&</span> last_node<span class="special">)</span><span class="special">;</span></pre> <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> <p><span class="bold"><strong>Effects</strong></span>: Unlinks the range (prev_node, last_node) from the linear list.</p> @@ -109,14 +109,14 @@ <p><span class="bold"><strong>Throws</strong></span>: Nothing. </p> </li> <li class="listitem"> -<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">&</span> prev_node<span class="special">,</span> <span class="keyword">const</span> <span class="identifier">node_ptr</span> <span class="special">&</span> this_node<span class="special">)</span><span class="special">;</span></pre> +<pre class="literallayout"><span class="keyword">static</span> <span class="keyword">void</span> <a name="idp55597392-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">&</span> prev_node<span class="special">,</span> <span class="keyword">const</span> <span class="identifier">node_ptr</span> <span class="special">&</span> this_node<span class="special">)</span><span class="special">;</span></pre> <p><span class="bold"><strong>Requires</strong></span>: prev_node must be a node of a linear list.</p> <p><span class="bold"><strong>Effects</strong></span>: Links this_node after prev_node in the linear list.</p> <p><span class="bold"><strong>Complexity</strong></span>: Constant</p> <p><span class="bold"><strong>Throws</strong></span>: Nothing. </p> </li> <li class="listitem"> -<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">&</span> p<span class="special">,</span> <span class="keyword">const</span> <span class="identifier">node_ptr</span> <span class="special">&</span> b<span class="special">,</span> +<pre class="literallayout"><span class="keyword">static</span> <span class="keyword">void</span> <a name="idp55603472-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">&</span> p<span class="special">,</span> <span class="keyword">const</span> <span class="identifier">node_ptr</span> <span class="special">&</span> b<span class="special">,</span> <span class="keyword">const</span> <span class="identifier">node_ptr</span> <span class="special">&</span> e<span class="special">)</span><span class="special">;</span></pre> <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> <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> @@ -124,28 +124,28 @@ <p><span class="bold"><strong>Throws</strong></span>: Nothing. </p> </li> <li class="listitem"> -<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">&</span> this_node<span class="special">)</span><span class="special">;</span></pre> +<pre class="literallayout"><span class="keyword">static</span> <span class="keyword">void</span> <a name="idp55610368-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">&</span> this_node<span class="special">)</span><span class="special">;</span></pre> <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> <p><span class="bold"><strong>Complexity</strong></span>: Constant</p> <p><span class="bold"><strong>Throws</strong></span>: Nothing. </p> </li> <li class="listitem"> <pre class="literallayout"><span class="keyword">static</span> <span class="identifier">node_ptr</span> -<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">&</span> prev_init_node<span class="special">,</span> <span class="keyword">const</span> <span class="identifier">node_ptr</span> <span class="special">&</span> this_node<span class="special">)</span><span class="special">;</span></pre> +<a name="idp55615392-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">&</span> prev_init_node<span class="special">,</span> <span class="keyword">const</span> <span class="identifier">node_ptr</span> <span class="special">&</span> this_node<span class="special">)</span><span class="special">;</span></pre> <p><span class="bold"><strong>Requires</strong></span>: this_node and prev_init_node must be in the same linear list.</p> <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> <p><span class="bold"><strong>Complexity</strong></span>: Linear to the number of elements between prev_init_node and this_node.</p> <p><span class="bold"><strong>Throws</strong></span>: Nothing. </p> </li> <li class="listitem"> -<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">&</span> this_node<span class="special">)</span><span class="special">;</span></pre> +<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="idp55621680-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">&</span> this_node<span class="special">)</span><span class="special">;</span></pre> <p><span class="bold"><strong>Requires</strong></span>: this_node must be in a linear list or be an empty linear list.</p> <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> <p><span class="bold"><strong>Complexity</strong></span>: Linear</p> <p><span class="bold"><strong>Throws</strong></span>: Nothing. </p> </li> <li class="listitem"> -<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">&</span> this_node<span class="special">,</span> +<pre class="literallayout"><span class="keyword">static</span> <span class="keyword">void</span> <a name="idp55627120-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">&</span> this_node<span class="special">,</span> <span class="keyword">const</span> <span class="identifier">node_ptr</span> <span class="special">&</span> other_node<span class="special">)</span><span class="special">;</span></pre> <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> <p><span class="bold"><strong>Effects</strong></span>: Moves all the nodes previously chained after this_node after other_node and vice-versa.</p> @@ -153,7 +153,7 @@ <p><span class="bold"><strong>Throws</strong></span>: Nothing. </p> </li> <li class="listitem"> -<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">&</span> p<span class="special">)</span><span class="special">;</span></pre> +<pre class="literallayout"><span class="keyword">static</span> <span class="identifier">node_ptr</span> <a name="idp55633296-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">&</span> p<span class="special">)</span><span class="special">;</span></pre> <p><span class="bold"><strong>Effects</strong></span>: Reverses the order of elements in the list.</p> <p><span class="bold"><strong>Returns</strong></span>: The new first node of the list.</p> <p><span class="bold"><strong>Throws</strong></span>: Nothing.</p> @@ -161,7 +161,7 @@ </li> <li class="listitem"> <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"><</span> <span class="identifier">node_ptr</span><span class="special">,</span> <span class="identifier">node_ptr</span> <span class="special">></span> -<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">&</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> +<a name="idp55638704-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">&</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> <p><span class="bold"><strong>Effects</strong></span>: Moves the first n nodes starting at p to the end of the list.</p> <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> <p><span class="bold"><strong>Throws</strong></span>: Nothing.</p> @@ -169,7 +169,7 @@ </li> <li class="listitem"> <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"><</span> <span class="identifier">node_ptr</span><span class="special">,</span> <span class="identifier">node_ptr</span> <span class="special">></span> -<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">&</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> +<a name="idp55644944-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">&</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> <p><span class="bold"><strong>Effects</strong></span>: Moves the first n nodes starting at p to the beginning of the list.</p> <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> <p><span class="bold"><strong>Throws</strong></span>: Nothing.</p> |