<!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>trie Interface</title>
  <meta http-equiv="Content-Type" content=
  "text/html; charset=us-ascii" />
  </head>

<body>
  <div id="page">
    <h1><tt>trie</tt> Interface</h1>

    <p>A concrete basic trie-based associative container.</p>

    <p>Defined in: <a href=
    "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/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="E_Access_Traits686553840" id=
"E_Access_Traits686553840"><b>class</b> E_Access_Traits </a>
</pre>
        </td>

        <td>
          <p>Element-access traits.</p>
        </td>

        <td>-</td>
      </tr>

      <tr>
        <td>
          <pre>
<a name="Tag278938" id="Tag278938"><b>class</b> Tag </a>
</pre>
        </td>

        <td>
          <p>Data-structure tag.</p>
        </td>

        <td><a href="pat_trie_tag.html"><span class=
        "c2"><tt>pat_trie_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> E_Access_Traits_, 
  <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_trie_node_update.html"><span class=
        "c2"><tt>null_trie_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">Public Types and
    Constants</a></h2>

    <h3><a name="link3" id="link3">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="e_access_traits1948190928" id=
"e_access_traits1948190928">e_access_traits</a>
</pre>
        </td>

        <td>
          <pre>
<a href="#E_Access_Traits686553840"><tt>E_Access_Traits</tt></a>
</pre>
        </td>

        <td>
          <p>Element access traits type.</p>
        </td>
      </tr>
    </table>

    <h3><a name="link4" id="link4">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=
"trie_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="trie_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="link5" id="link5">Public Methods</a></h2>

    <h3><a name="link6" id="link6">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>
  trie
  ()
</pre>
        </td>

        <td>
          <p>Default constructor.</p>
        </td>
      </tr>

      <tr>
        <td>
          <pre>
  trie
  (<b>const</b> <a href=
"#E_Access_Traits686553840"><tt>E_Access_Traits</tt></a> &amp;r_e_access_traits)
</pre>
        </td>

        <td>
          <p>Constructor taking some policy objects. <span class=
          "c1"><tt>r_e_access_traits</tt></span> will be copied by
          the <a href=
          "#E_Access_Traits686553840"><tt>E_Access_Traits</tt></a>
          object of the container object.</p>
        </td>
      </tr>

      <tr>
        <td>
          <pre>
<b>template</b>&lt;
    <b>class</b> It&gt;
  trie
  (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;
  trie
  (It first_it, 
    It last_it,
    <b>const</b> <a href=
"#E_Access_Traits686553840"><tt>E_Access_Traits</tt></a> &amp;r_e_access_traits)
</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.</p>
        </td>
      </tr>

      <tr>
        <td>
          <pre>
  trie
  (<b>const</b> <span class=
"c2"><tt>trie</tt></span> &amp;other)
</pre>
        </td>

        <td>
          <p>Copy constructor.</p>
        </td>
      </tr>

      <tr>
        <td>
          <pre>
<b>virtual</b> 
  ~trie
  ()
</pre>
        </td>

        <td>
          <p>Destructor.</p>
        </td>
      </tr>

      <tr>
        <td>
          <pre>
<span class="c2"><tt>trie</tt></span> &amp;
  <b>operator</b>=
  (<b>const</b> <span class=
"c2"><tt>trie</tt></span> &amp;other)
</pre>
        </td>

        <td>
          <p>Assignment operator.</p>
        </td>
      </tr>

      <tr>
        <td>
          <pre>
<b>void</b>
  swap
  (<span class=
"c2"><tt>trie</tt></span> &amp;other)
</pre>
        </td>

        <td>
          <p>Swaps content.</p>
        </td>
      </tr>
    </table>

    <h3><a name="link7" id="link7">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=
"#e_access_traits1948190928"><tt>e_access_traits</tt></a> &amp;
  get_e_access_traits
  ()
</pre>
        </td>

        <td>
          <p>Access to the comb_hash_fn object.</p>
        </td>
      </tr>

      <tr>
        <td>
          <pre>
<a href=
"#e_access_traits1948190928"><tt>e_access_traits</tt></a> &amp;
  get_e_access_traits
  () <b>const</b>
</pre>
        </td>

        <td>
          <p>Const access to the comb_hash_fn object.</p>
        </td>
      </tr>
    </table>

    <h3><a name="link8" id="link8">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 trie.</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 trie.</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
          trie.</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
          trie.</p>
        </td>
      </tr>
    </table>
  </div>
</body>
</html>
