2008-01-10 Vladimir Makarov <vmakarov@redhat.com>
[official-gcc.git] / libstdc++-v3 / docs / html / ext / pb_ds / trie.html
blob71a8688338697488e98e11aba2832a9d4a3f579a
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
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" />
9 <title>trie Interface</title>
10 <meta http-equiv="Content-Type" content=
11 "text/html; charset=us-ascii" />
12 </head>
14 <body>
15 <div id="page">
16 <h1><tt>trie</tt> Interface</h1>
18 <p>A concrete basic trie-based associative container.</p>
20 <p>Defined in: <a href=
21 "../../../../include/ext/pb_ds/assoc_container.hpp"><tt>assoc_container.hpp</tt></a></p>
23 <h2><a name="link1" id="link1">Template Parameters</a></h2>
25 <table class="c1" width="100%" border="1" summary=
26 "Template Parameters">
27 <tr>
28 <td width="20%" align="left"><b>Parameter</b></td>
30 <td width="50%" align="left"><b>Description</b></td>
32 <td width="30%" align="left"><b>Default Value</b></td>
33 </tr>
35 <tr>
36 <td>
37 <pre>
38 <a name="Key2501" id="Key2501"><b>typename</b> Key</a>
39 </pre>
40 </td>
42 <td>
43 <p>Key type.</p>
44 </td>
46 <td>-</td>
47 </tr>
49 <tr>
50 <td>
51 <pre>
52 <a name="Mapped318655" id="Mapped318655"><b>typename</b> Mapped</a>
53 </pre>
54 </td>
56 <td>
57 <p>Mapped type.</p>
58 </td>
60 <td>-</td>
61 </tr>
63 <tr>
64 <td>
65 <pre>
66 <a name="E_Access_Traits686553840" id=
67 "E_Access_Traits686553840"><b>class</b> E_Access_Traits </a>
68 </pre>
69 </td>
71 <td>
72 <p>Element-access traits.</p>
73 </td>
75 <td>-</td>
76 </tr>
78 <tr>
79 <td>
80 <pre>
81 <a name="Tag278938" id="Tag278938"><b>class</b> Tag </a>
82 </pre>
83 </td>
85 <td>
86 <p>Data-structure tag.</p>
87 </td>
89 <td><a href="pat_trie_tag.html"><span class=
90 "c2"><tt>pat_trie_tag</tt></span></a></td>
91 </tr>
93 <tr>
94 <td>
95 <pre>
96 <a name="Node_Update841554648" id=
97 "Node_Update841554648"><b>template</b>&lt;
98 <b>typename</b> Const_Node_Iterator,
99 <b>typename</b> Node_Iterator,
100 <b>class</b> E_Access_Traits_,
101 <b>typename</b> Allocator_&gt;
102 <b>class</b> Node_Update </a>
103 </pre>
104 </td>
106 <td>
107 <p>Node updater type.</p>
109 <p><a href=
110 "tree_based_containers.html#invariants">Design::Tree-Based
111 Containers::Node Invariants</a> explains this
112 concept.</p>
113 </td>
115 <td><a href="null_trie_node_update.html"><span class=
116 "c2"><tt>null_trie_node_update</tt></span></a></td>
117 </tr>
119 <tr>
120 <td>
121 <pre>
122 <a name="Allocator35940069" id=
123 "Allocator35940069"><b>class</b> Allocator </a>
124 </pre>
125 </td>
127 <td>
128 <p>Allocator type.</p>
129 </td>
131 <td>
132 <pre>
133 std::allocator&lt;<b>char</b>&gt;
134 </pre>
135 </td>
136 </tr>
137 </table>
139 <h2><a name="link2" id="link2">Public Types and
140 Constants</a></h2>
142 <h3><a name="link3" id="link3">Policy Definitions</a></h3>
144 <table class="c1" width="100%" border="1" summary="Types">
145 <tr>
146 <td width="30%" align="left"><b>Type</b></td>
148 <td width="55%" align="left"><b>Definition</b></td>
150 <td width="15%" align="left"><b>Description</b></td>
151 </tr>
153 <tr>
154 <td>
155 <pre>
156 <a name="e_access_traits1948190928" id=
157 "e_access_traits1948190928">e_access_traits</a>
158 </pre>
159 </td>
161 <td>
162 <pre>
163 <a href="#E_Access_Traits686553840"><tt>E_Access_Traits</tt></a>
164 </pre>
165 </td>
167 <td>
168 <p>Element access traits type.</p>
169 </td>
170 </tr>
171 </table>
173 <h3><a name="link4" id="link4">Iterator Definitions</a></h3>
175 <table class="c1" width="100%" border="1" summary="Types">
176 <tr>
177 <td width="30%" align="left"><b>Type</b></td>
179 <td width="55%" align="left"><b>Definition</b></td>
181 <td width="15%" align="left"><b>Description</b></td>
182 </tr>
184 <tr>
185 <td>
186 <pre>
187 <a name="const_node_iterator4205924553" id=
188 "const_node_iterator4205924553">const_node_iterator</a>
189 </pre>
190 </td>
192 <td>
193 <pre>
194 <a href=
195 "trie_const_node_iterator.html"><span class=
196 "c2"><tt>const_node_iterator</tt></span></a>
197 </pre>
198 </td>
200 <td>
201 <p>Const node iterator.</p>
202 </td>
203 </tr>
205 <tr>
206 <td>
207 <pre>
208 <a name="node_iterator3431975247" id=
209 "node_iterator3431975247">node_iterator</a>
210 </pre>
211 </td>
213 <td>
214 <pre>
215 <a href="trie_node_iterator.html"><span class=
216 "c2"><tt>node_iterator</tt></span></a>
217 </pre>
218 </td>
220 <td>
221 <p>Node iterator.</p>
222 </td>
223 </tr>
224 </table>
226 <h2><a name="link5" id="link5">Public Methods</a></h2>
228 <h3><a name="link6" id="link6">Constructors, Destructor, and
229 Related</a></h3>
231 <table class="c1" width="100%" border="1" summary="Methods">
232 <tr>
233 <td width="45%" align="left"><b>Method</b></td>
235 <td width="55%" align="left"><b>Description</b></td>
236 </tr>
238 <tr>
239 <td>
240 <pre>
241 trie
243 </pre>
244 </td>
246 <td>
247 <p>Default constructor.</p>
248 </td>
249 </tr>
251 <tr>
252 <td>
253 <pre>
254 trie
255 (<b>const</b> <a href=
256 "#E_Access_Traits686553840"><tt>E_Access_Traits</tt></a> &amp;r_e_access_traits)
257 </pre>
258 </td>
260 <td>
261 <p>Constructor taking some policy objects. <span class=
262 "c1"><tt>r_e_access_traits</tt></span> will be copied by
263 the <a href=
264 "#E_Access_Traits686553840"><tt>E_Access_Traits</tt></a>
265 object of the container object.</p>
266 </td>
267 </tr>
269 <tr>
270 <td>
271 <pre>
272 <b>template</b>&lt;
273 <b>class</b> It&gt;
274 trie
275 (It first_it,
276 It last_it)
277 </pre>
278 </td>
280 <td>
281 <p>Constructor taking iterators to a range of
282 value_types. The value_types between <span class=
283 "c1"><tt>first_it</tt></span> and <span class=
284 "c1"><tt>last_it</tt></span> will be inserted into the
285 container object.</p>
286 </td>
287 </tr>
289 <tr>
290 <td>
291 <pre>
292 <b>template</b>&lt;
293 <b>class</b> It&gt;
294 trie
295 (It first_it,
296 It last_it,
297 <b>const</b> <a href=
298 "#E_Access_Traits686553840"><tt>E_Access_Traits</tt></a> &amp;r_e_access_traits)
299 </pre>
300 </td>
302 <td>
303 <p>Constructor taking iterators to a range of value_types
304 and some policy objects. The value_types between
305 <span class="c1"><tt>first_it</tt></span> and
306 <span class="c1"><tt>last_it</tt></span> will be inserted
307 into the container object.</p>
308 </td>
309 </tr>
311 <tr>
312 <td>
313 <pre>
314 trie
315 (<b>const</b> <span class=
316 "c2"><tt>trie</tt></span> &amp;other)
317 </pre>
318 </td>
320 <td>
321 <p>Copy constructor.</p>
322 </td>
323 </tr>
325 <tr>
326 <td>
327 <pre>
328 <b>virtual</b>
329 ~trie
331 </pre>
332 </td>
334 <td>
335 <p>Destructor.</p>
336 </td>
337 </tr>
339 <tr>
340 <td>
341 <pre>
342 <span class="c2"><tt>trie</tt></span> &amp;
343 <b>operator</b>=
344 (<b>const</b> <span class=
345 "c2"><tt>trie</tt></span> &amp;other)
346 </pre>
347 </td>
349 <td>
350 <p>Assignment operator.</p>
351 </td>
352 </tr>
354 <tr>
355 <td>
356 <pre>
357 <b>void</b>
358 swap
359 (<span class=
360 "c2"><tt>trie</tt></span> &amp;other)
361 </pre>
362 </td>
364 <td>
365 <p>Swaps content.</p>
366 </td>
367 </tr>
368 </table>
370 <h3><a name="link7" id="link7">Policy Access Methods</a></h3>
372 <table class="c1" width="100%" border="1" summary="Methods">
373 <tr>
374 <td width="45%" align="left"><b>Method</b></td>
376 <td width="55%" align="left"><b>Description</b></td>
377 </tr>
379 <tr>
380 <td>
381 <pre>
382 <a href=
383 "#e_access_traits1948190928"><tt>e_access_traits</tt></a> &amp;
384 get_e_access_traits
386 </pre>
387 </td>
389 <td>
390 <p>Access to the comb_hash_fn object.</p>
391 </td>
392 </tr>
394 <tr>
395 <td>
396 <pre>
397 <a href=
398 "#e_access_traits1948190928"><tt>e_access_traits</tt></a> &amp;
399 get_e_access_traits
400 () <b>const</b>
401 </pre>
402 </td>
404 <td>
405 <p>Const access to the comb_hash_fn object.</p>
406 </td>
407 </tr>
408 </table>
410 <h3><a name="link8" id="link8">Node-Iteration Methods</a></h3>
412 <table class="c1" width="100%" border="1" summary="Methods">
413 <tr>
414 <td width="45%" align="left"><b>Method</b></td>
416 <td width="55%" align="left"><b>Description</b></td>
417 </tr>
419 <tr>
420 <td>
421 <pre>
422 <a href="#node_iterator3431975247"><tt>node_iterator</tt></a>
423 node_begin
425 </pre>
426 </td>
428 <td>
429 <p>Returns a <a href=
430 "#node_iterator3431975247"><tt>node_iterator</tt></a>
431 corresponding to the node at the root of the trie.</p>
432 </td>
433 </tr>
435 <tr>
436 <td>
437 <pre>
438 <a href=
439 "#const_node_iterator4205924553"><tt>const_node_iterator</tt></a>
440 node_begin
441 () <b>const</b>
442 </pre>
443 </td>
445 <td>
446 <p>Returns a <a href=
447 "#const_node_iterator4205924553"><tt>const_node_iterator</tt></a>
448 corresponding to the node at the root of the trie.</p>
449 </td>
450 </tr>
452 <tr>
453 <td>
454 <pre>
455 <a href="#node_iterator3431975247"><tt>node_iterator</tt></a>
456 node_end
458 </pre>
459 </td>
461 <td>
462 <p>Returns a <a href=
463 "#node_iterator3431975247"><tt>node_iterator</tt></a>
464 corresponding to a node just after a leaf of the
465 trie.</p>
466 </td>
467 </tr>
469 <tr>
470 <td>
471 <pre>
472 <a href=
473 "#const_node_iterator4205924553"><tt>const_node_iterator</tt></a>
474 node_end
475 () <b>const</b>
476 </pre>
477 </td>
479 <td>
480 <p>Returns a <a href=
481 "#const_node_iterator4205924553"><tt>const_node_iterator</tt></a>
482 corresponding to a node just after a leaf of the
483 trie.</p>
484 </td>
485 </tr>
486 </table>
487 </div>
488 </body>
489 </html>