| <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" |
| "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
| |
| <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> |
| <head> |
| <meta name="generator" content= |
| "HTML Tidy for Linux/x86 (vers 12 April 2005), see www.w3.org" /> |
| |
| <title>basic_tree Interface</title> |
| <meta http-equiv="Content-Type" content= |
| "text/html; charset=us-ascii" /> |
| </head> |
| |
| <body> |
| <div id="page"> |
| <h1><tt>basic_tree</tt> Interface</h1> |
| |
| <p>An abstract basic tree-like-based associative container.</p> |
| |
| <p>Defined in: <a href= |
| "../../../../include/ext/pb_ds/assoc_container.hpp"><tt>assoc_container.hpp</tt></a></p> |
| |
| <h2><a name="link1" id="link1">Template Parameters</a></h2> |
| |
| <table class="c1" width="100%" border="1" summary= |
| "Template Parameters"> |
| <tr> |
| <td width="20%" align="left"><b>Parameter</b></td> |
| |
| <td width="50%" align="left"><b>Description</b></td> |
| |
| <td width="30%" align="left"><b>Default Value</b></td> |
| </tr> |
| |
| <tr> |
| <td> |
| <pre> |
| <a name="Key2501" id="Key2501"><b>typename</b> Key</a> |
| </pre> |
| </td> |
| |
| <td> |
| <p>Key type.</p> |
| </td> |
| |
| <td>-</td> |
| </tr> |
| |
| <tr> |
| <td> |
| <pre> |
| <a name="Mapped318655" id="Mapped318655"><b>typename</b> Mapped</a> |
| </pre> |
| </td> |
| |
| <td> |
| <p>Mapped type.</p> |
| </td> |
| |
| <td>-</td> |
| </tr> |
| |
| <tr> |
| <td> |
| <pre> |
| <a name="Tag278938" id="Tag278938"><b>class</b> Tag</a> |
| </pre> |
| </td> |
| |
| <td> |
| <p>Mapped-structure tag.</p> |
| </td> |
| |
| <td>-</td> |
| </tr> |
| |
| <tr> |
| <td> |
| <pre> |
| <a name="Node_Update841554648" id= |
| "Node_Update841554648"><b>class</b> Node_Update</a> |
| </pre> |
| </td> |
| |
| <td> |
| <p>Node updater.</p> |
| |
| <p>Restores node-invariants when invalidated.</p> |
| </td> |
| |
| <td>-</td> |
| </tr> |
| |
| <tr> |
| <td> |
| <pre> |
| <a name="Policy_Tl42017403" id= |
| "Policy_Tl42017403"><b>class</b> Policy_Tl</a> |
| </pre> |
| </td> |
| |
| <td> |
| <p>Policy typelist.</p> |
| |
| <p>Contains subclasses' policies.</p> |
| </td> |
| |
| <td>-</td> |
| </tr> |
| |
| <tr> |
| <td> |
| <pre> |
| <a name="Allocator35940069" id= |
| "Allocator35940069"><b>class</b> Allocator</a> |
| </pre> |
| </td> |
| |
| <td> |
| <p>Allocator type.</p> |
| </td> |
| |
| <td>-</td> |
| </tr> |
| </table> |
| |
| <h2><a name="link2" id="link2">Base Classes</a></h2> |
| |
| <table class="c1" width="100%" border="1" summary="Bases"> |
| <tr> |
| <td width="80%" align="left"><b>Class</b></td> |
| |
| <td width="20%" align="left"><b>Derivation Type</b></td> |
| </tr> |
| |
| <tr> |
| <td> |
| <pre> |
| <a href="#Node_Update841554648"><tt>Node_Update</tt></a> |
| </pre> |
| </td> |
| |
| <td> |
| <p>public</p> |
| </td> |
| </tr> |
| |
| <tr> |
| <td> |
| <pre> |
| <a href="container_base.html"><span class= |
| "c2"><tt>container_base</tt></span></a> |
| </pre> |
| </td> |
| |
| <td> |
| <p>public</p> |
| </td> |
| </tr> |
| </table> |
| |
| <h2><a name="link3" id="link3">Public Types and |
| Constants</a></h2> |
| |
| <h3><a name="link4" id="link4">Key-Type Definitions</a></h3> |
| |
| <table class="c1" width="100%" border="1" summary="Types"> |
| <tr> |
| <td width="30%" align="left"><b>Type</b></td> |
| |
| <td width="55%" align="left"><b>Definition</b></td> |
| |
| <td width="15%" align="left"><b>Description</b></td> |
| </tr> |
| |
| <tr> |
| <td> |
| <pre> |
| <a name="const_key_reference3185471705" id= |
| "const_key_reference3185471705">const_key_reference</a> |
| </pre> |
| </td> |
| |
| <td> |
| <pre> |
| <b>typename</b> <a href="container_base.html"><span class= |
| "c2"><tt>container_base</tt></span></a>::const_key_reference |
| </pre> |
| </td> |
| |
| <td> |
| <p>Const key reference type.</p> |
| </td> |
| </tr> |
| </table> |
| |
| <h3><a name="link5" id="link5">Policy Definitions</a></h3> |
| |
| <table class="c1" width="100%" border="1" summary="Types"> |
| <tr> |
| <td width="30%" align="left"><b>Type</b></td> |
| |
| <td width="55%" align="left"><b>Definition</b></td> |
| |
| <td width="15%" align="left"><b>Description</b></td> |
| </tr> |
| |
| <tr> |
| <td> |
| <pre> |
| <a name="node_update2404554648" id= |
| "node_update2404554648">node_update</a> |
| </pre> |
| </td> |
| |
| <td> |
| <pre> |
| <a href="#Node_Update841554648"><tt>Node_Update</tt></a> |
| </pre> |
| </td> |
| |
| <td> |
| <p>Node updater type.</p> |
| </td> |
| </tr> |
| </table> |
| |
| <h3><a name="link6" id="link6">Iterator Definitions</a></h3> |
| |
| <table class="c1" width="100%" border="1" summary="Types"> |
| <tr> |
| <td width="30%" align="left"><b>Type</b></td> |
| |
| <td width="55%" align="left"><b>Definition</b></td> |
| |
| <td width="15%" align="left"><b>Description</b></td> |
| </tr> |
| |
| <tr> |
| <td> |
| <pre> |
| <a name="const_iterator98626788" id= |
| "const_iterator98626788">const_iterator</a> |
| </pre> |
| </td> |
| |
| <td> |
| <pre> |
| <b>typename</b> <a href="container_base.html"><span class= |
| "c2"><tt>container_base</tt></span></a>::const_iterator |
| </pre> |
| </td> |
| |
| <td> |
| <p>Const range-type iterator.</p> |
| </td> |
| </tr> |
| |
| <tr> |
| <td> |
| <pre> |
| <a name="iterator10418194" id="iterator10418194">iterator</a> |
| </pre> |
| </td> |
| |
| <td> |
| <pre> |
| <b>typename</b> <a href="container_base.html"><span class= |
| "c2"><tt>container_base</tt></span></a>::iterator |
| </pre> |
| </td> |
| |
| <td> |
| <p>Range-type iterator.</p> |
| </td> |
| </tr> |
| |
| <tr> |
| <td> |
| <pre> |
| <a name="const_reverse_iterator4151293083" id= |
| "const_reverse_iterator4151293083">const_reverse_iterator</a> |
| </pre> |
| </td> |
| |
| <td> |
| <pre> |
| Const reverse range-type iterator. |
| </pre> |
| </td> |
| |
| <td> |
| <p>Const reverse range-type <a href= |
| "#iterator10418194"><tt>iterator</tt></a>.</p> |
| </td> |
| </tr> |
| |
| <tr> |
| <td> |
| <pre> |
| <a name="reverse_iterator1896910345" id= |
| "reverse_iterator1896910345">reverse_iterator</a> |
| </pre> |
| </td> |
| |
| <td> |
| <pre> |
| Reverse range-type iterator.<br /> |
| If <a href="#Mapped318655"><tt>Mapped</tt></a> is <a href= |
| "null_mapped_type.html"><span class= |
| "c2"><tt>null_mapped_type</tt></span></a>, then this is synonymous to <a href="#const_reverse_iterator4151293083"><tt>const_reverse_iterator</tt></a> |
| </pre> |
| </td> |
| |
| <td> |
| <p>Reverse range-type <a href= |
| "#iterator10418194"><tt>iterator</tt></a>.</p> |
| </td> |
| </tr> |
| </table> |
| |
| <h2><a name="link7" id="link7">Public Methods</a></h2> |
| |
| <h3><a name="link8" id="link8">Constructors, Destructor, and |
| Related</a></h3> |
| |
| <table class="c1" width="100%" border="1" summary="Methods"> |
| <tr> |
| <td width="45%" align="left"><b>Method</b></td> |
| |
| <td width="55%" align="left"><b>Description</b></td> |
| </tr> |
| |
| <tr> |
| <td> |
| <pre> |
| <b>virtual</b> |
| ~basic_tree |
| () |
| </pre> |
| </td> |
| |
| <td> |
| <p>Destructor.</p> |
| </td> |
| </tr> |
| </table> |
| |
| <h3><a name="link9" id="link9">Policy Access Methods</a></h3> |
| |
| <table class="c1" width="100%" border="1" summary="Methods"> |
| <tr> |
| <td width="45%" align="left"><b>Method</b></td> |
| |
| <td width="55%" align="left"><b>Description</b></td> |
| </tr> |
| |
| <tr> |
| <td> |
| <pre> |
| <a href="#node_update2404554648"><tt>node_update</tt></a> & |
| get_node_update |
| () |
| </pre> |
| </td> |
| |
| <td> |
| <p>Access to the <a href= |
| "#node_update2404554648"><tt>node_update</tt></a> |
| object.</p> |
| </td> |
| </tr> |
| |
| <tr> |
| <td> |
| <pre> |
| <b>const</b> <a href= |
| "#node_update2404554648"><tt>node_update</tt></a> & |
| get_node_update |
| () <b>const</b> |
| </pre> |
| </td> |
| |
| <td> |
| <p>Const access to the <a href= |
| "#node_update2404554648"><tt>node_update</tt></a> |
| object.</p> |
| </td> |
| </tr> |
| </table> |
| |
| <h3><a name="link10" id="link10">Find Methods</a></h3> |
| |
| <table class="c1" width="100%" border="1" summary="Methods"> |
| <tr> |
| <td width="45%" align="left"><b>Method</b></td> |
| |
| <td width="55%" align="left"><b>Description</b></td> |
| </tr> |
| |
| <tr> |
| <td> |
| <pre> |
| <a href="#iterator10418194"><tt>iterator</tt></a> |
| lower_bound |
| (<a href= |
| "#const_key_reference3185471705"><tt>const_key_reference</tt></a> r_key) |
| </pre> |
| </td> |
| |
| <td> |
| <p>Returns an <a href= |
| "#iterator10418194"><tt>iterator</tt></a> corresponding |
| to the entry whose key is the smallest one at least as |
| large as <span class="c1"><tt>r_key</tt></span>.</p> |
| </td> |
| </tr> |
| |
| <tr> |
| <td> |
| <pre> |
| <a href="#const_iterator98626788"><tt>const_iterator</tt></a> |
| lower_bound |
| (<a href= |
| "#const_key_reference3185471705"><tt>const_key_reference</tt></a> r_key) <b>const</b> |
| </pre> |
| </td> |
| |
| <td> |
| <p>Returns a <tt><b>const</b></tt> <a href= |
| "#iterator10418194"><tt>iterator</tt></a> corresponding |
| to the entry whose key is the smallest one at least as |
| large as <span class="c1"><tt>r_key</tt></span>.</p> |
| </td> |
| </tr> |
| |
| <tr> |
| <td> |
| <pre> |
| <a href="#iterator10418194"><tt>iterator</tt></a> |
| upper_bound |
| (<a href= |
| "#const_key_reference3185471705"><tt>const_key_reference</tt></a> r_key) |
| </pre> |
| </td> |
| |
| <td> |
| <p>Returns an <a href= |
| "#iterator10418194"><tt>iterator</tt></a> corresponding |
| to the entry whose key is the smallest one larger than |
| <span class="c1"><tt>r_key</tt></span>.</p> |
| </td> |
| </tr> |
| |
| <tr> |
| <td> |
| <pre> |
| <a href="#const_iterator98626788"><tt>const_iterator</tt></a> |
| upper_bound |
| (<a href= |
| "#const_key_reference3185471705"><tt>const_key_reference</tt></a> r_key) <b>const</b> |
| </pre> |
| </td> |
| |
| <td> |
| <p>Returns a <a href= |
| "#const_iterator98626788"><tt>const_iterator</tt></a> |
| corresponding to the entry whose key is the smallest one |
| larger than <span class="c1"><tt>r_key</tt></span>.</p> |
| </td> |
| </tr> |
| </table> |
| |
| <h3><a name="link11" id="link11">Erase Methods</a></h3> |
| |
| <table class="c1" width="100%" border="1" summary="Methods"> |
| <tr> |
| <td width="45%" align="left"><b>Method</b></td> |
| |
| <td width="55%" align="left"><b>Description</b></td> |
| </tr> |
| |
| <tr> |
| <td> |
| <pre> |
| <a href="#iterator10418194"><tt>iterator</tt></a> |
| erase |
| (<a href="#iterator10418194"><tt>iterator</tt></a> it) |
| </pre> |
| </td> |
| |
| <td> |
| <p>Erases the value_type corresponding to the <a href= |
| "#iterator10418194"><tt>iterator</tt></a> <span class= |
| "c1"><tt>it</tt></span>. Returns the <a href= |
| "#iterator10418194"><tt>iterator</tt></a> corresponding |
| to the next value_type.</p> |
| </td> |
| </tr> |
| |
| <tr> |
| <td> |
| <pre> |
| <a href="#reverse_iterator1896910345"><tt>reverse_iterator</tt></a> |
| erase |
| (<a href= |
| "#reverse_iterator1896910345"><tt>reverse_iterator</tt></a> it) |
| </pre> |
| </td> |
| |
| <td> |
| <p>Erases the value_type corresponding to the <a href= |
| "#reverse_iterator1896910345"><tt>reverse_iterator</tt></a> |
| <span class="c1"><tt>it</tt></span>. Returns the <a href= |
| "#reverse_iterator1896910345"><tt>reverse_iterator</tt></a> |
| corresponding to the previous value_type.</p> |
| </td> |
| </tr> |
| </table> |
| |
| <h3><a name="link12" id="link12">Iteration Methods</a></h3> |
| |
| <table class="c1" width="100%" border="1" summary="Methods"> |
| <tr> |
| <td width="45%" align="left"><b>Method</b></td> |
| |
| <td width="55%" align="left"><b>Description</b></td> |
| </tr> |
| |
| <tr> |
| <td> |
| <pre> |
| <a href="#reverse_iterator1896910345"><tt>reverse_iterator</tt></a> |
| rbegin |
| () |
| </pre> |
| </td> |
| |
| <td> |
| <p>Returns a <a href= |
| "#reverse_iterator1896910345"><tt>reverse_iterator</tt></a> |
| corresponding to the last value_type in the |
| container.</p> |
| </td> |
| </tr> |
| |
| <tr> |
| <td> |
| <pre> |
| <a href= |
| "#const_reverse_iterator4151293083"><tt>const_reverse_iterator</tt></a> |
| rbegin |
| () <b>const</b> |
| </pre> |
| </td> |
| |
| <td> |
| <p>Returns a <a href= |
| "#const_reverse_iterator4151293083"><tt>const_reverse_iterator</tt></a> |
| corresponding to the last value_type in the |
| container.</p> |
| </td> |
| </tr> |
| |
| <tr> |
| <td> |
| <pre> |
| <a href="#reverse_iterator1896910345"><tt>reverse_iterator</tt></a> |
| rend |
| () |
| </pre> |
| </td> |
| |
| <td> |
| <p>Returns a <a href= |
| "#reverse_iterator1896910345"><tt>reverse_iterator</tt></a> |
| corresponding to the just-before-first value_type in the |
| container.</p> |
| </td> |
| </tr> |
| |
| <tr> |
| <td> |
| <pre> |
| <a href= |
| "#const_reverse_iterator4151293083"><tt>const_reverse_iterator</tt></a> |
| rend |
| () <b>const</b> |
| </pre> |
| </td> |
| |
| <td> |
| <p>Returns a <a href= |
| "#const_reverse_iterator4151293083"><tt>const_reverse_iterator</tt></a> |
| corresponding to the just-before-first value_type in the |
| container.</p> |
| </td> |
| </tr> |
| </table> |
| |
| <h3><a name="link13" id="link13">Split and join |
| Methods</a></h3> |
| |
| <table class="c1" width="100%" border="1" summary="Methods"> |
| <tr> |
| <td width="45%" align="left"><b>Method</b></td> |
| |
| <td width="55%" align="left"><b>Description</b></td> |
| </tr> |
| |
| <tr> |
| <td> |
| <pre> |
| <b>void</b> |
| join |
| (<span class= |
| "c2"><tt>basic_tree</tt></span> &other) |
| </pre> |
| </td> |
| |
| <td> |
| <p>Joins two trees. When this function returns, |
| <span class="c1"><tt>other</tt></span> will be |
| empty.</p> |
| |
| <p>When calling this method, <span class= |
| "c1"><tt>other</tt></span>'s keys must be all larger or |
| all smaller than this object's keys, and <span class= |
| "c1"><tt>other</tt></span>'s policies must be |
| equivalent to this object's policies.</p> |
| </td> |
| </tr> |
| |
| <tr> |
| <td> |
| <pre> |
| <b>void</b> |
| split |
| (<a href= |
| "#const_key_reference3185471705"><tt>const_key_reference</tt></a> r_key, |
| <span class= |
| "c2"><tt>basic_tree</tt></span> &other) |
| </pre> |
| </td> |
| |
| <td> |
| <p>Splits into two trees. When this function returns, |
| <span class="c1"><tt>other</tt></span> will contain |
| only keys larger than <span class= |
| "c1"><tt>r_key</tt></span>.</p> |
| |
| <p>When calling this method, <span class= |
| "c1"><tt>other</tt></span>'s policies must be |
| equivalent to this object's policies.</p> |
| </td> |
| </tr> |
| </table> |
| </div> |
| </body> |
| </html> |