1<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3
4<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
5<head>
6  <meta name="generator" content=
7  "HTML Tidy for Linux/x86 (vers 12 April 2005), see www.w3.org" />
8
9  <title>trie_prefix_search_node_update Interface</title>
10  <meta http-equiv="Content-Type" content=
11  "text/html; charset=us-ascii" />
12  </head>
13
14<body>
15  <div id="page">
16    <h1><tt>trie_prefix_search_node_update</tt> Interface</h1>
17
18    <p>A node updater that allows tries to be searched for the
19    range of values that match a certain prefix.</p>
20
21    <p>Defined in: <a href=
22    "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>
23
24    <h2><a name="link1" id="link1">Template Parameters</a></h2>
25
26    <table class="c1" width="100%" border="1" summary=
27    "Template Parameters">
28      <tr>
29        <td width="20%" align="left"><b>Parameter</b></td>
30
31        <td width="50%" align="left"><b>Description</b></td>
32
33        <td width="30%" align="left"><b>Default Value</b></td>
34      </tr>
35
36      <tr>
37        <td>
38          <pre>
39<a name="Const_Node_Iterator1933878761" id=
40"Const_Node_Iterator1933878761"><b>class</b> Const_Node_Iterator</a>
41</pre>
42        </td>
43
44        <td>
45          <p>Const node iterator type.</p>
46        </td>
47
48        <td>-</td>
49      </tr>
50
51      <tr>
52        <td>
53          <pre>
54<a name="Node_Iterator4206909839" id=
55"Node_Iterator4206909839"><b>class</b> Node_Iterator</a>
56</pre>
57        </td>
58
59        <td>
60          <p>Node iterator type.</p>
61        </td>
62
63        <td>-</td>
64      </tr>
65
66      <tr>
67        <td>
68          <pre>
69<a name="E_Access_Traits686553840" id=
70"E_Access_Traits686553840"><b>class</b> E_Access_Traits</a>
71</pre>
72        </td>
73
74        <td>
75          <p>Comparison functor.</p>
76        </td>
77
78        <td>-</td>
79      </tr>
80
81      <tr>
82        <td>
83          <pre>
84<a name="Allocator35940069" id=
85"Allocator35940069"><b>class</b> Allocator</a>
86</pre>
87        </td>
88
89        <td>
90          <p>Allocator type.</p>
91        </td>
92
93        <td>-</td>
94      </tr>
95    </table>
96
97    <h2><a name="link2" id="link2">Public Types and
98    Constants</a></h2>
99
100    <h3><a name="link3" id="link3">Key-Type Definitions</a></h3>
101
102    <table class="c1" width="100%" border="1" summary="Types">
103      <tr>
104        <td width="30%" align="left"><b>Type</b></td>
105
106        <td width="55%" align="left"><b>Definition</b></td>
107
108        <td width="15%" align="left"><b>Description</b></td>
109      </tr>
110
111      <tr>
112        <td>
113          <pre>
114<a name="key_type10393186" id="key_type10393186">key_type</a>
115</pre>
116        </td>
117
118        <td>
119          <pre>
120The instantiating container's key type.
121</pre>
122        </td>
123
124        <td>
125          <p>Key type.</p>
126        </td>
127      </tr>
128
129      <tr>
130        <td>
131          <pre>
132<a name="const_key_reference3185471705" id=
133"const_key_reference3185471705">const_key_reference</a>
134</pre>
135        </td>
136
137        <td>
138          <pre>
139The instantiating container's const key reference type.
140</pre>
141        </td>
142
143        <td>
144          <p>Const key reference.</p>
145        </td>
146      </tr>
147    </table>
148
149    <h3><a name="link4" id="link4">Policy Definitions</a></h3>
150
151    <table class="c1" width="100%" border="1" summary="Types">
152      <tr>
153        <td width="30%" align="left"><b>Type</b></td>
154
155        <td width="55%" align="left"><b>Definition</b></td>
156
157        <td width="15%" align="left"><b>Description</b></td>
158      </tr>
159
160      <tr>
161        <td>
162          <pre>
163<a name="e_access_traits1948190928" id=
164"e_access_traits1948190928">e_access_traits</a>
165</pre>
166        </td>
167
168        <td>
169          <pre>
170<a href="#E_Access_Traits686553840"><tt>E_Access_Traits</tt></a>
171</pre>
172        </td>
173
174        <td>
175          <p>Element access traits.</p>
176        </td>
177      </tr>
178
179      <tr>
180        <td>
181          <pre>
182<a name="const_e_iterator2450008044" id=
183"const_e_iterator2450008044">const_e_iterator</a>
184</pre>
185        </td>
186
187        <td>
188          <pre>
189<b>typename</b> <a href=
190"#e_access_traits1948190928"><tt>e_access_traits</tt></a>::const_iterator
191</pre>
192        </td>
193
194        <td>
195          <p>Const element iterator.</p>
196        </td>
197      </tr>
198
199      <tr>
200        <td>
201          <pre>
202<a name="allocator48440069" id="allocator48440069">allocator</a>
203</pre>
204        </td>
205
206        <td>
207          <pre>
208<a href="#Allocator35940069"><tt>Allocator</tt></a>
209</pre>
210        </td>
211
212        <td>
213          <p><a href="#Allocator35940069"><tt>Allocator</tt></a>
214          type.</p>
215        </td>
216      </tr>
217    </table>
218
219    <h3><a name="link5" id="link5">General Definitions</a></h3>
220
221    <table class="c1" width="100%" border="1" summary="Types">
222      <tr>
223        <td width="30%" align="left"><b>Type</b></td>
224
225        <td width="55%" align="left"><b>Definition</b></td>
226
227        <td width="15%" align="left"><b>Description</b></td>
228      </tr>
229
230      <tr>
231        <td>
232          <pre>
233<a name="size_type55424436" id="size_type55424436">size_type</a>
234</pre>
235        </td>
236
237        <td>
238          <pre>
239<b>typename</b> <a href=
240"#allocator48440069"><tt>allocator</tt></a>::size_type
241</pre>
242        </td>
243
244        <td>
245          <p>Size type.</p>
246        </td>
247      </tr>
248    </table>
249
250    <h3><a name="link6" id="link6">Metadata-Type
251    Definitions</a></h3>
252
253    <table class="c1" width="100%" border="1" summary="Types">
254      <tr>
255        <td width="30%" align="left"><b>Type</b></td>
256
257        <td width="55%" align="left"><b>Definition</b></td>
258
259        <td width="15%" align="left"><b>Description</b></td>
260      </tr>
261
262      <tr>
263        <td>
264          <pre>
265<a name="metadata_type2849297114" id=
266"metadata_type2849297114">metadata_type</a>
267</pre>
268        </td>
269
270        <td>
271          <pre>
272__gnu_pbds::detail::null_node_metadata
273</pre>
274        </td>
275
276        <td>
277          <p>Metadata type.</p>
278        </td>
279      </tr>
280    </table>
281
282    <h3><a name="link7" id="link7">Iterator Definitions</a></h3>
283
284    <table class="c1" width="100%" border="1" summary="Types">
285      <tr>
286        <td width="30%" align="left"><b>Type</b></td>
287
288        <td width="55%" align="left"><b>Definition</b></td>
289
290        <td width="15%" align="left"><b>Description</b></td>
291      </tr>
292
293      <tr>
294        <td>
295          <pre>
296<a name="const_node_iterator4205924553" id=
297"const_node_iterator4205924553">const_node_iterator</a>
298</pre>
299        </td>
300
301        <td>
302          <pre>
303<a href=
304"#Const_Node_Iterator1933878761"><tt>Const_Node_Iterator</tt></a>
305</pre>
306        </td>
307
308        <td>
309          <p>Const node iterator type.</p>
310        </td>
311      </tr>
312
313      <tr>
314        <td>
315          <pre>
316<a name="node_iterator3431975247" id=
317"node_iterator3431975247">node_iterator</a>
318</pre>
319        </td>
320
321        <td>
322          <pre>
323<a href="#Node_Iterator4206909839"><tt>Node_Iterator</tt></a>
324</pre>
325        </td>
326
327        <td>
328          <p>Node iterator type.</p>
329        </td>
330      </tr>
331
332      <tr>
333        <td>
334          <pre>
335<a name="const_iterator98626788" id=
336"const_iterator98626788">const_iterator</a>
337</pre>
338        </td>
339
340        <td>
341          <pre>
342<b>typename</b> <a href=
343"#const_node_iterator4205924553"><tt>const_node_iterator</tt></a>::value_type
344</pre>
345        </td>
346
347        <td>
348          <p>Const iterator type.</p>
349        </td>
350      </tr>
351
352      <tr>
353        <td>
354          <pre>
355<a name="iterator10418194" id="iterator10418194">iterator</a>
356</pre>
357        </td>
358
359        <td>
360          <pre>
361<b>typename</b> <a href=
362"#node_iterator3431975247"><tt>node_iterator</tt></a>::value_type
363</pre>
364        </td>
365
366        <td>
367          <p>Iterator type.</p>
368        </td>
369      </tr>
370    </table>
371
372    <h2><a name="link8" id="link8">Public Methods</a></h2>
373
374    <h3><a name="link9" id="link9">Find Methods</a></h3>
375
376    <table class="c1" width="100%" border="1" summary="Methods">
377      <tr>
378        <td width="45%" align="left"><b>Method</b></td>
379
380        <td width="55%" align="left"><b>Description</b></td>
381      </tr>
382
383      <tr>
384        <td>
385          <pre>
386std::pair&lt;
387    <a href="#const_iterator98626788"><tt>const_iterator</tt></a>,
388    <a href=
389"#const_iterator98626788"><tt>const_iterator</tt></a>&gt;
390  prefix_range
391  (<a href=
392"#const_key_reference3185471705"><tt>const_key_reference</tt></a> r_key) <b>const</b>
393</pre>
394        </td>
395
396        <td>
397          <p>Finds the <tt><b>const</b></tt> <a href=
398          "#iterator10418194"><tt>iterator</tt></a> range
399          corresponding to all values whose prefixes match
400          <span class="c1"><tt>r_key</tt></span>.</p>
401        </td>
402      </tr>
403
404      <tr>
405        <td>
406          <pre>
407std::pair&lt;
408    <a href="#iterator10418194"><tt>iterator</tt></a>,
409    <a href="#iterator10418194"><tt>iterator</tt></a>&gt;
410  prefix_range
411  (<a href=
412"#const_key_reference3185471705"><tt>const_key_reference</tt></a> r_key)
413</pre>
414        </td>
415
416        <td>
417          <p>Finds the <a href=
418          "#iterator10418194"><tt>iterator</tt></a> range
419          corresponding to all values whose prefixes match
420          <span class="c1"><tt>r_key</tt></span>.</p>
421        </td>
422      </tr>
423
424      <tr>
425        <td>
426          <pre>
427std::pair&lt;
428    <a href="#const_iterator98626788"><tt>const_iterator</tt></a>,
429    <a href=
430"#const_iterator98626788"><tt>const_iterator</tt></a>&gt;
431  prefix_range
432  (<a href=
433"#const_e_iterator2450008044"><tt>const_e_iterator</tt></a> b,
434    <a href=
435"#const_e_iterator2450008044"><tt>const_e_iterator</tt></a> e) <b>const</b>
436</pre>
437        </td>
438
439        <td>
440          <p>Finds the <tt><b>const</b></tt> <a href=
441          "#iterator10418194"><tt>iterator</tt></a> range
442          corresponding to all values whose prefixes match [b,
443          <span class="c1"><tt>e</tt></span>).</p>
444        </td>
445      </tr>
446
447      <tr>
448        <td>
449          <pre>
450std::pair&lt;
451    <a href="#iterator10418194"><tt>iterator</tt></a>,
452    <a href="#iterator10418194"><tt>iterator</tt></a>&gt;
453  prefix_range
454  (<a href=
455"#const_e_iterator2450008044"><tt>const_e_iterator</tt></a> b,
456    <a href=
457"#const_e_iterator2450008044"><tt>const_e_iterator</tt></a> e)
458</pre>
459        </td>
460
461        <td>
462          <p>Finds the <a href=
463          "#iterator10418194"><tt>iterator</tt></a> range
464          corresponding to all values whose prefixes match [b,
465          <span class="c1"><tt>e</tt></span>).</p>
466        </td>
467      </tr>
468    </table>
469
470    <h2><a name="link10" id="link10">Protected Methods</a></h2>
471
472    <h3><a name="link11" id="link11">Operators</a></h3>
473
474    <table class="c1" width="100%" border="1" summary="Methods">
475      <tr>
476        <td width="45%" align="left"><b>Method</b></td>
477
478        <td width="55%" align="left"><b>Description</b></td>
479      </tr>
480
481      <tr>
482        <td>
483          <pre>
484<b>inline</b> <b>void</b>
485  <b>operator</b>()
486  (<a href=
487"#node_iterator3431975247"><tt>node_iterator</tt></a> node_it,
488    <a href=
489"#const_node_iterator4205924553"><tt>const_node_iterator</tt></a> end_nd_it) <b>const</b>
490</pre>
491        </td>
492
493        <td>
494          <p>Called to update a node's metadata.</p>
495        </td>
496      </tr>
497    </table>
498
499    <h2><a name="link12" id="link12">Private Methods</a></h2>
500
501    <h3><a name="link13" id="link13">Overrides</a></h3>
502
503    <table class="c1" width="100%" border="1" summary="Methods">
504      <tr>
505        <td width="45%" align="left"><b>Method</b></td>
506
507        <td width="55%" align="left"><b>Description</b></td>
508      </tr>
509
510      <tr>
511        <td>
512          <pre>
513<b>virtual</b> <a href=
514"#const_iterator98626788"><tt>const_iterator</tt></a>
515  end
516  () <b>const</b> = 0
517</pre>
518        </td>
519
520        <td>
521          <p>Returns the <tt><b>const</b></tt> <a href=
522          "#iterator10418194"><tt>iterator</tt></a> associated with
523          the just-after last element.</p>
524        </td>
525      </tr>
526
527      <tr>
528        <td>
529          <pre>
530<b>virtual</b> <a href="#iterator10418194"><tt>iterator</tt></a>
531  end
532  () = 0
533</pre>
534        </td>
535
536        <td>
537          <p>Returns the <a href=
538          "#iterator10418194"><tt>iterator</tt></a> associated with
539          the just-after last element.</p>
540        </td>
541      </tr>
542
543      <tr>
544        <td>
545          <pre>
546<b>virtual</b> <a href=
547"#const_node_iterator4205924553"><tt>const_node_iterator</tt></a>
548  node_begin
549  () <b>const</b> = 0
550</pre>
551        </td>
552
553        <td>
554          <p>Returns the <a href=
555          "#const_node_iterator4205924553"><tt>const_node_iterator</tt></a>
556          associated with the trie's root node.</p>
557        </td>
558      </tr>
559
560      <tr>
561        <td>
562          <pre>
563<b>virtual</b> <a href=
564"#node_iterator3431975247"><tt>node_iterator</tt></a>
565  node_begin
566  () = 0
567</pre>
568        </td>
569
570        <td>
571          <p>Returns the <a href=
572          "#node_iterator3431975247"><tt>node_iterator</tt></a>
573          associated with the trie's root node.</p>
574        </td>
575      </tr>
576
577      <tr>
578        <td>
579          <pre>
580<b>virtual</b> <a href=
581"#const_node_iterator4205924553"><tt>const_node_iterator</tt></a>
582  node_end
583  () <b>const</b> = 0
584</pre>
585        </td>
586
587        <td>
588          <p>Returns the <a href=
589          "#const_node_iterator4205924553"><tt>const_node_iterator</tt></a>
590          associated with a just-after leaf node.</p>
591        </td>
592      </tr>
593
594      <tr>
595        <td>
596          <pre>
597<b>virtual</b> <a href=
598"#node_iterator3431975247"><tt>node_iterator</tt></a>
599  node_end
600  () = 0
601</pre>
602        </td>
603
604        <td>
605          <p>Returns the <a href=
606          "#node_iterator3431975247"><tt>node_iterator</tt></a>
607          associated with a just-after leaf node.</p>
608        </td>
609      </tr>
610
611      <tr>
612        <td>
613          <pre>
614<b>virtual</b> <b>const</b> <a href=
615"#e_access_traits1948190928"><tt>e_access_traits</tt></a> &amp;
616  get_e_access_traits
617  () <b>const</b> = 0
618</pre>
619        </td>
620
621        <td>
622          <p>Access to the cmp_fn object.</p>
623        </td>
624      </tr>
625    </table>
626  </div>
627</body>
628</html>
629