<!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_prefix_search_node_update Interface</title> <meta http-equiv="Content-Type" content= "text/html; charset=us-ascii" /> </head> <body> <div id="page"> <h1><tt>trie_prefix_search_node_update</tt> Interface</h1> <p>A node updater that allows tries to be searched for the range of values that match a certain prefix.</p> <p>Defined in: <a href= "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/include/ext/pb_ds/trie_policy.hpp"><tt>trie_policy.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="Const_Node_Iterator1933878761" id= "Const_Node_Iterator1933878761"><b>class</b> Const_Node_Iterator</a> </pre> </td> <td> <p>Const node iterator type.</p> </td> <td>-</td> </tr> <tr> <td> <pre> <a name="Node_Iterator4206909839" id= "Node_Iterator4206909839"><b>class</b> Node_Iterator</a> </pre> </td> <td> <p>Node iterator 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>Comparison functor.</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">Public Types and Constants</a></h2> <h3><a name="link3" id="link3">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="key_type10393186" id="key_type10393186">key_type</a> </pre> </td> <td> <pre> The instantiating container's key type. </pre> </td> <td> <p>Key type.</p> </td> </tr> <tr> <td> <pre> <a name="const_key_reference3185471705" id= "const_key_reference3185471705">const_key_reference</a> </pre> </td> <td> <pre> The instantiating container's const key reference type. </pre> </td> <td> <p>Const key reference.</p> </td> </tr> </table> <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="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.</p> </td> </tr> <tr> <td> <pre> <a name="const_e_iterator2450008044" id= "const_e_iterator2450008044">const_e_iterator</a> </pre> </td> <td> <pre> <b>typename</b> <a href= "#e_access_traits1948190928"><tt>e_access_traits</tt></a>::const_iterator </pre> </td> <td> <p>Const element iterator.</p> </td> </tr> <tr> <td> <pre> <a name="allocator48440069" id="allocator48440069">allocator</a> </pre> </td> <td> <pre> <a href="#Allocator35940069"><tt>Allocator</tt></a> </pre> </td> <td> <p><a href="#Allocator35940069"><tt>Allocator</tt></a> type.</p> </td> </tr> </table> <h3><a name="link5" id="link5">General 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="size_type55424436" id="size_type55424436">size_type</a> </pre> </td> <td> <pre> <b>typename</b> <a href= "#allocator48440069"><tt>allocator</tt></a>::size_type </pre> </td> <td> <p>Size type.</p> </td> </tr> </table> <h3><a name="link6" id="link6">Metadata-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="metadata_type2849297114" id= "metadata_type2849297114">metadata_type</a> </pre> </td> <td> <pre> __gnu_pbds::detail::null_node_metadata </pre> </td> <td> <p>Metadata type.</p> </td> </tr> </table> <h3><a name="link7" id="link7">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= "#Const_Node_Iterator1933878761"><tt>Const_Node_Iterator</tt></a> </pre> </td> <td> <p>Const node iterator type.</p> </td> </tr> <tr> <td> <pre> <a name="node_iterator3431975247" id= "node_iterator3431975247">node_iterator</a> </pre> </td> <td> <pre> <a href="#Node_Iterator4206909839"><tt>Node_Iterator</tt></a> </pre> </td> <td> <p>Node iterator type.</p> </td> </tr> <tr> <td> <pre> <a name="const_iterator98626788" id= "const_iterator98626788">const_iterator</a> </pre> </td> <td> <pre> <b>typename</b> <a href= "#const_node_iterator4205924553"><tt>const_node_iterator</tt></a>::value_type </pre> </td> <td> <p>Const iterator type.</p> </td> </tr> <tr> <td> <pre> <a name="iterator10418194" id="iterator10418194">iterator</a> </pre> </td> <td> <pre> <b>typename</b> <a href= "#node_iterator3431975247"><tt>node_iterator</tt></a>::value_type </pre> </td> <td> <p>Iterator type.</p> </td> </tr> </table> <h2><a name="link8" id="link8">Public Methods</a></h2> <h3><a name="link9" id="link9">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> std::pair< <a href="#const_iterator98626788"><tt>const_iterator</tt></a>, <a href= "#const_iterator98626788"><tt>const_iterator</tt></a>> prefix_range (<a href= "#const_key_reference3185471705"><tt>const_key_reference</tt></a> r_key) <b>const</b> </pre> </td> <td> <p>Finds the <tt><b>const</b></tt> <a href= "#iterator10418194"><tt>iterator</tt></a> range corresponding to all values whose prefixes match <span class="c1"><tt>r_key</tt></span>.</p> </td> </tr> <tr> <td> <pre> std::pair< <a href="#iterator10418194"><tt>iterator</tt></a>, <a href="#iterator10418194"><tt>iterator</tt></a>> prefix_range (<a href= "#const_key_reference3185471705"><tt>const_key_reference</tt></a> r_key) </pre> </td> <td> <p>Finds the <a href= "#iterator10418194"><tt>iterator</tt></a> range corresponding to all values whose prefixes match <span class="c1"><tt>r_key</tt></span>.</p> </td> </tr> <tr> <td> <pre> std::pair< <a href="#const_iterator98626788"><tt>const_iterator</tt></a>, <a href= "#const_iterator98626788"><tt>const_iterator</tt></a>> prefix_range (<a href= "#const_e_iterator2450008044"><tt>const_e_iterator</tt></a> b, <a href= "#const_e_iterator2450008044"><tt>const_e_iterator</tt></a> e) <b>const</b> </pre> </td> <td> <p>Finds the <tt><b>const</b></tt> <a href= "#iterator10418194"><tt>iterator</tt></a> range corresponding to all values whose prefixes match [b, <span class="c1"><tt>e</tt></span>).</p> </td> </tr> <tr> <td> <pre> std::pair< <a href="#iterator10418194"><tt>iterator</tt></a>, <a href="#iterator10418194"><tt>iterator</tt></a>> prefix_range (<a href= "#const_e_iterator2450008044"><tt>const_e_iterator</tt></a> b, <a href= "#const_e_iterator2450008044"><tt>const_e_iterator</tt></a> e) </pre> </td> <td> <p>Finds the <a href= "#iterator10418194"><tt>iterator</tt></a> range corresponding to all values whose prefixes match [b, <span class="c1"><tt>e</tt></span>).</p> </td> </tr> </table> <h2><a name="link10" id="link10">Protected Methods</a></h2> <h3><a name="link11" id="link11">Operators</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>inline</b> <b>void</b> <b>operator</b>() (<a href= "#node_iterator3431975247"><tt>node_iterator</tt></a> node_it, <a href= "#const_node_iterator4205924553"><tt>const_node_iterator</tt></a> end_nd_it) <b>const</b> </pre> </td> <td> <p>Called to update a node's metadata.</p> </td> </tr> </table> <h2><a name="link12" id="link12">Private Methods</a></h2> <h3><a name="link13" id="link13">Overrides</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> <a href= "#const_iterator98626788"><tt>const_iterator</tt></a> end () <b>const</b> = 0 </pre> </td> <td> <p>Returns the <tt><b>const</b></tt> <a href= "#iterator10418194"><tt>iterator</tt></a> associated with the just-after last element.</p> </td> </tr> <tr> <td> <pre> <b>virtual</b> <a href="#iterator10418194"><tt>iterator</tt></a> end () = 0 </pre> </td> <td> <p>Returns the <a href= "#iterator10418194"><tt>iterator</tt></a> associated with the just-after last element.</p> </td> </tr> <tr> <td> <pre> <b>virtual</b> <a href= "#const_node_iterator4205924553"><tt>const_node_iterator</tt></a> node_begin () <b>const</b> = 0 </pre> </td> <td> <p>Returns the <a href= "#const_node_iterator4205924553"><tt>const_node_iterator</tt></a> associated with the trie's root node.</p> </td> </tr> <tr> <td> <pre> <b>virtual</b> <a href= "#node_iterator3431975247"><tt>node_iterator</tt></a> node_begin () = 0 </pre> </td> <td> <p>Returns the <a href= "#node_iterator3431975247"><tt>node_iterator</tt></a> associated with the trie's root node.</p> </td> </tr> <tr> <td> <pre> <b>virtual</b> <a href= "#const_node_iterator4205924553"><tt>const_node_iterator</tt></a> node_end () <b>const</b> = 0 </pre> </td> <td> <p>Returns the <a href= "#const_node_iterator4205924553"><tt>const_node_iterator</tt></a> associated with a just-after leaf node.</p> </td> </tr> <tr> <td> <pre> <b>virtual</b> <a href= "#node_iterator3431975247"><tt>node_iterator</tt></a> node_end () = 0 </pre> </td> <td> <p>Returns the <a href= "#node_iterator3431975247"><tt>node_iterator</tt></a> associated with a just-after leaf node.</p> </td> </tr> <tr> <td> <pre> <b>virtual</b> <b>const</b> <a href= "#e_access_traits1948190928"><tt>e_access_traits</tt></a> & get_e_access_traits () <b>const</b> = 0 </pre> </td> <td> <p>Access to the cmp_fn object.</p> </td> </tr> </table> </div> </body> </html>