blob: d836bda123b3127197afa1004afbb2b79fe115a7 [file] [log] [blame]
<!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&lt;<a href="#Key2501"><tt>Key</tt></a>&gt;
</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>&lt;
<b>typename</b> Const_Node_Iterator,
<b>typename</b> Node_Iterator,
<b>class</b> Cmp_Fn_,
<b>typename</b> Allocator_&gt;
<b>class</b> Node_Update </a>
</pre>
</td>
<td>
<p>Node updater type.</p>
<p><a href=
"tree_based_containers.html#invariants">Design::Tree-Based
Containers::Node Invariants</a> explains this
concept.</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&lt;<b>char</b>&gt;
</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 and
Constants</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, 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>
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> &amp;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 the
container object.</p>
</td>
</tr>
<tr>
<td>
<pre>
<b>template</b>&lt;
<b>class</b> It&gt;
tree
(It first_it,
It last_it)
</pre>
</td>
<td>
<p>Constructor taking iterators to a range of
value_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 the
container object.</p>
</td>
</tr>
<tr>
<td>
<pre>
<b>template</b>&lt;
<b>class</b> It&gt;
tree
(It first_it,
It last_it,
<b>const</b> <a href=
"#cmp_fn394495"><tt>cmp_fn</tt></a> &amp;r_cmp_fn)
</pre>
</td>
<td>
<p>Constructor taking iterators to a range of value_types
and 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 inserted
into 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 the
container object.</p>
</td>
</tr>
<tr>
<td>
<pre>
tree
(<b>const</b> <span class=
"c2"><tt>tree</tt></span> &amp;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> &amp;
<b>operator</b>=
(<b>const</b> <span class=
"c2"><tt>tree</tt></span> &amp;other)
</pre>
</td>
<td>
<p>Assignment operator.</p>
</td>
</tr>
<tr>
<td>
<pre>
<b>void</b>
swap
(<span class=
"c2"><tt>tree</tt></span> &amp;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> &amp;
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> &amp;
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 the
tree.</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 the
tree.</p>
</td>
</tr>
</table>
</div>
</body>
</html>