<!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>tree Interface</title><meta http-equiv="Content-Type" content="text/html; charset=us-ascii" /></head><body><div id="page"><h1><tt>tree</tt> Interface</h1><p>A concrete basic tree-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="Cmp_Fn294335" id="Cmp_Fn294335"><b>class</b> Cmp_Fn </a></pre></td><td><p>Comparison functor.</p></td><td><pre>std::less<<a href="#Key2501"><tt>Key</tt></a>></pre></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><a href="rb_tree_tag.html"><span class="c2"><tt>rb_tree_tag</tt></span></a></td></tr><tr><td><pre><a name="Node_Update841554648" id="Node_Update841554648"><b>template</b><<b>typename</b> Const_Node_Iterator,<b>typename</b> Node_Iterator,<b>class</b> Cmp_Fn_,<b>typename</b> Allocator_><b>class</b> Node_Update </a></pre></td><td><p>Node updater type.</p><p><a href="tree_based_containers.html#invariants">Design::Tree-BasedContainers::Node Invariants</a> explains thisconcept.</p></td><td><a href="null_tree_node_update.html"><span class="c2"><tt>null_tree_node_update</tt></span></a></td></tr><tr><td><pre><a name="Allocator35940069" id="Allocator35940069"><b>class</b> Allocator </a></pre></td><td><p>Allocator type.</p></td><td><pre>std::allocator<<b>char</b>></pre></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="basic_tree.html"><span class="c2"><tt>basic_tree</tt></span></a></pre></td><td><p>public</p></td></tr></table><h2><a name="link3" id="link3">Public Types andConstants</a></h2><h3><a name="link4" id="link4">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="cmp_fn394495" id="cmp_fn394495">cmp_fn</a></pre></td><td><pre><a href="#Cmp_Fn294335"><tt>Cmp_Fn</tt></a></pre></td><td><p>Comparison functor type.</p></td></tr></table><h3><a name="link5" id="link5">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_node_iterator4205924553" id="const_node_iterator4205924553">const_node_iterator</a></pre></td><td><pre><a href="tree_const_node_iterator.html"><span class="c2"><tt>const_node_iterator</tt></span></a></pre></td><td><p>Const node iterator.</p></td></tr><tr><td><pre><a name="node_iterator3431975247" id="node_iterator3431975247">node_iterator</a></pre></td><td><pre><a href="tree_node_iterator.html"><span class="c2"><tt>node_iterator</tt></span></a></pre></td><td><p>Node iterator.</p></td></tr></table><h2><a name="link6" id="link6">Public Methods</a></h2><h3><a name="link7" id="link7">Constructors, Destructor, andRelated</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>tree()</pre></td><td><p>Default constructor.</p></td></tr><tr><td><pre>tree(<b>const</b> <a href="#cmp_fn394495"><tt>cmp_fn</tt></a> &r_cmp_fn)</pre></td><td><p>Constructor taking some policy objects. <span class="c1"><tt>r_cmp_fn</tt></span> will be copied by the<a href="#Cmp_Fn294335"><tt>Cmp_Fn</tt></a> object of thecontainer object.</p></td></tr><tr><td><pre><b>template</b><<b>class</b> It>tree(It first_it,It last_it)</pre></td><td><p>Constructor taking iterators to a range ofvalue_types. The value_types between <span class="c1"><tt>first_it</tt></span> and <span class="c1"><tt>last_it</tt></span> will be inserted into thecontainer object.</p></td></tr><tr><td><pre><b>template</b><<b>class</b> It>tree(It first_it,It last_it,<b>const</b> <a href="#cmp_fn394495"><tt>cmp_fn</tt></a> &r_cmp_fn)</pre></td><td><p>Constructor taking iterators to a range of value_typesand some policy objects The value_types between<span class="c1"><tt>first_it</tt></span> and<span class="c1"><tt>last_it</tt></span> will be insertedinto the container object. <span class="c1"><tt>r_cmp_fn</tt></span> will be copied by the<a href="#cmp_fn394495"><tt>cmp_fn</tt></a> object of thecontainer object.</p></td></tr><tr><td><pre>tree(<b>const</b> <span class="c2"><tt>tree</tt></span> &other)</pre></td><td><p>Copy constructor.</p></td></tr><tr><td><pre><b>virtual</b>~tree()</pre></td><td><p>Destructor.</p></td></tr><tr><td><pre><span class="c2"><tt>tree</tt></span> &<b>operator</b>=(<b>const</b> <span class="c2"><tt>tree</tt></span> &other)</pre></td><td><p>Assignment operator.</p></td></tr><tr><td><pre><b>void</b>swap(<span class="c2"><tt>tree</tt></span> &other)</pre></td><td><p>Swaps content.</p></td></tr></table><h3><a name="link8" id="link8">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="#cmp_fn394495"><tt>cmp_fn</tt></a> &get_cmp_fn()</pre></td><td><p>Access to the <a href="#cmp_fn394495"><tt>cmp_fn</tt></a> object.</p></td></tr><tr><td><pre><b>const</b> <a href="#cmp_fn394495"><tt>cmp_fn</tt></a> &get_cmp_fn() <b>const</b></pre></td><td><p>Const access to the <a href="#cmp_fn394495"><tt>cmp_fn</tt></a> object.</p></td></tr></table><h3><a name="link9" id="link9">Node-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="#node_iterator3431975247"><tt>node_iterator</tt></a>node_begin()</pre></td><td><p>Returns a <a href="#node_iterator3431975247"><tt>node_iterator</tt></a>corresponding to the node at the root of the tree.</p></td></tr><tr><td><pre><a href="#const_node_iterator4205924553"><tt>const_node_iterator</tt></a>node_begin() <b>const</b></pre></td><td><p>Returns a <a href="#const_node_iterator4205924553"><tt>const_node_iterator</tt></a>corresponding to the node at the root of the tree.</p></td></tr><tr><td><pre><a href="#node_iterator3431975247"><tt>node_iterator</tt></a>node_end()</pre></td><td><p>Returns a <a href="#node_iterator3431975247"><tt>node_iterator</tt></a>corresponding to a node just after a leaf of thetree.</p></td></tr><tr><td><pre><a href="#const_node_iterator4205924553"><tt>const_node_iterator</tt></a>node_end() <b>const</b></pre></td><td><p>Returns a <a href="#const_node_iterator4205924553"><tt>const_node_iterator</tt></a>corresponding to a node just after a leaf of thetree.</p></td></tr></table></div></body></html>