2008-01-10 Vladimir Makarov <vmakarov@redhat.com>
[official-gcc.git] / libstdc++-v3 / docs / html / ext / pb_ds / trie_order_statistics_node_update.html
blobdcc236ff5204ba18426b5ba2519c76dab367ea8b
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_order_statistics_node_update 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_order_statistics_node_update</tt> Interface</h1>
18 <p>Functor updating ranks of entrees.</p>
20 <p>Defined in: <a href=
21 "../../../../include/ext/pb_ds/trie_policy.hpp"><tt>trie_policy.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="Const_Node_Iterator1933878761" id=
39 "Const_Node_Iterator1933878761"><b>class</b> Const_Node_Iterator</a>
40 </pre>
41 </td>
43 <td>
44 <p>Const node iterator type.</p>
45 </td>
47 <td>-</td>
48 </tr>
50 <tr>
51 <td>
52 <pre>
53 <a name="Node_Iterator4206909839" id=
54 "Node_Iterator4206909839"><b>class</b> Node_Iterator</a>
55 </pre>
56 </td>
58 <td>
59 <p>Node iterator type.</p>
60 </td>
62 <td>-</td>
63 </tr>
65 <tr>
66 <td>
67 <pre>
68 <a name="E_Access_Traits686553840" id=
69 "E_Access_Traits686553840"><b>class</b> E_Access_Traits</a>
70 </pre>
71 </td>
73 <td>
74 <p>Comparison functor.</p>
75 </td>
77 <td>-</td>
78 </tr>
80 <tr>
81 <td>
82 <pre>
83 <a name="Allocator35940069" id=
84 "Allocator35940069"><b>class</b> Allocator</a>
85 </pre>
86 </td>
88 <td>
89 <p>Allocator type.</p>
90 </td>
92 <td>-</td>
93 </tr>
94 </table>
96 <h2><a name="link2" id="link2">Public Types and
97 Constants</a></h2>
99 <h3><a name="link3" id="link3">Policy Definitions</a></h3>
101 <table class="c1" width="100%" border="1" summary="Types">
102 <tr>
103 <td width="30%" align="left"><b>Type</b></td>
105 <td width="55%" align="left"><b>Definition</b></td>
107 <td width="15%" align="left"><b>Description</b></td>
108 </tr>
110 <tr>
111 <td>
112 <pre>
113 <a name="e_access_traits1948190928" id=
114 "e_access_traits1948190928">e_access_traits</a>
115 </pre>
116 </td>
118 <td>
119 <pre>
120 <a href="#E_Access_Traits686553840"><tt>E_Access_Traits</tt></a>
121 </pre>
122 </td>
124 <td>
125 <p>Element access traits.</p>
126 </td>
127 </tr>
129 <tr>
130 <td>
131 <pre>
132 <a name="const_e_iterator2450008044" id=
133 "const_e_iterator2450008044">const_e_iterator</a>
134 </pre>
135 </td>
137 <td>
138 <pre>
139 <b>typename</b> <a href=
140 "#e_access_traits1948190928"><tt>e_access_traits</tt></a>::const_iterator
141 </pre>
142 </td>
144 <td>
145 <p>Const element iterator.</p>
146 </td>
147 </tr>
149 <tr>
150 <td>
151 <pre>
152 <a name="allocator48440069" id="allocator48440069">allocator</a>
153 </pre>
154 </td>
156 <td>
157 <pre>
158 <a href="#Allocator35940069"><tt>Allocator</tt></a>
159 </pre>
160 </td>
162 <td>
163 <p><a href="#Allocator35940069"><tt>Allocator</tt></a>
164 type.</p>
165 </td>
166 </tr>
167 </table>
169 <h3><a name="link4" id="link4">General Definitions</a></h3>
171 <table class="c1" width="100%" border="1" summary="Types">
172 <tr>
173 <td width="30%" align="left"><b>Type</b></td>
175 <td width="55%" align="left"><b>Definition</b></td>
177 <td width="15%" align="left"><b>Description</b></td>
178 </tr>
180 <tr>
181 <td>
182 <pre>
183 <a name="size_type55424436" id="size_type55424436">size_type</a>
184 </pre>
185 </td>
187 <td>
188 <pre>
189 <b>typename</b> <a href=
190 "#allocator48440069"><tt>allocator</tt></a>::size_type
191 </pre>
192 </td>
194 <td>
195 <p>Size type.</p>
196 </td>
197 </tr>
198 </table>
200 <h3><a name="link5" id="link5">Key-Type Definitions</a></h3>
202 <table class="c1" width="100%" border="1" summary="Types">
203 <tr>
204 <td width="30%" align="left"><b>Type</b></td>
206 <td width="55%" align="left"><b>Definition</b></td>
208 <td width="15%" align="left"><b>Description</b></td>
209 </tr>
211 <tr>
212 <td>
213 <pre>
214 <a name="key_type10393186" id="key_type10393186">key_type</a>
215 </pre>
216 </td>
218 <td>
219 <pre>
220 The instantiating container's key type.
221 </pre>
222 </td>
224 <td>
225 <p>Key type.</p>
226 </td>
227 </tr>
229 <tr>
230 <td>
231 <pre>
232 <a name="const_key_reference3185471705" id=
233 "const_key_reference3185471705">const_key_reference</a>
234 </pre>
235 </td>
237 <td>
238 <pre>
239 The instantiating container's const key reference type.
240 </pre>
241 </td>
243 <td>
244 <p>Const key reference.</p>
245 </td>
246 </tr>
247 </table>
249 <h3><a name="link6" id="link6">Metadata-Type
250 Definitions</a></h3>
252 <table class="c1" width="100%" border="1" summary="Types">
253 <tr>
254 <td width="30%" align="left"><b>Type</b></td>
256 <td width="55%" align="left"><b>Definition</b></td>
258 <td width="15%" align="left"><b>Description</b></td>
259 </tr>
261 <tr>
262 <td>
263 <pre>
264 <a name="metadata_type2849297114" id=
265 "metadata_type2849297114">metadata_type</a>
266 </pre>
267 </td>
269 <td>
270 <pre>
271 <a href="#size_type55424436"><tt>size_type</tt></a>
272 </pre>
273 </td>
275 <td>
276 <p>Metadata type.</p>
277 </td>
278 </tr>
279 </table>
281 <h3><a name="link7" id="link7">Iterator Definitions</a></h3>
283 <table class="c1" width="100%" border="1" summary="Types">
284 <tr>
285 <td width="30%" align="left"><b>Type</b></td>
287 <td width="55%" align="left"><b>Definition</b></td>
289 <td width="15%" align="left"><b>Description</b></td>
290 </tr>
292 <tr>
293 <td>
294 <pre>
295 <a name="const_node_iterator4205924553" id=
296 "const_node_iterator4205924553">const_node_iterator</a>
297 </pre>
298 </td>
300 <td>
301 <pre>
302 <a href=
303 "#Const_Node_Iterator1933878761"><tt>Const_Node_Iterator</tt></a>
304 </pre>
305 </td>
307 <td>
308 <p>Const node iterator type.</p>
309 </td>
310 </tr>
312 <tr>
313 <td>
314 <pre>
315 <a name="node_iterator3431975247" id=
316 "node_iterator3431975247">node_iterator</a>
317 </pre>
318 </td>
320 <td>
321 <pre>
322 <a href="#Node_Iterator4206909839"><tt>Node_Iterator</tt></a>
323 </pre>
324 </td>
326 <td>
327 <p>Node iterator type.</p>
328 </td>
329 </tr>
331 <tr>
332 <td>
333 <pre>
334 <a name="const_iterator98626788" id=
335 "const_iterator98626788">const_iterator</a>
336 </pre>
337 </td>
339 <td>
340 <pre>
341 <b>typename</b> <a href=
342 "#const_node_iterator4205924553"><tt>const_node_iterator</tt></a>::value_type
343 </pre>
344 </td>
346 <td>
347 <p>Const iterator type.</p>
348 </td>
349 </tr>
351 <tr>
352 <td>
353 <pre>
354 <a name="iterator10418194" id="iterator10418194">iterator</a>
355 </pre>
356 </td>
358 <td>
359 <pre>
360 <b>typename</b> <a href=
361 "#node_iterator3431975247"><tt>node_iterator</tt></a>::value_type
362 </pre>
363 </td>
365 <td>
366 <p>Iterator type.</p>
367 </td>
368 </tr>
369 </table>
371 <h2><a name="link8" id="link8">Public Methods</a></h2>
373 <h3><a name="link9" id="link9">Find-Type Methods</a></h3>
375 <table class="c1" width="100%" border="1" summary="Methods">
376 <tr>
377 <td width="45%" align="left"><b>Method</b></td>
379 <td width="55%" align="left"><b>Description</b></td>
380 </tr>
382 <tr>
383 <td>
384 <pre>
385 <b>inline</b> <a href=
386 "#const_iterator98626788"><tt>const_iterator</tt></a>
387 find_by_order
388 (<a href=
389 "#size_type55424436"><tt>size_type</tt></a> order) <b>const</b>
390 </pre>
391 </td>
393 <td>
394 <p>Finds an entry by order. Returns a <a href=
395 "#const_iterator98626788"><tt>const_iterator</tt></a> to
396 the entry with the order <span class=
397 "c1"><tt>order</tt></span>, or a <a href=
398 "#const_iterator98626788"><tt>const_iterator</tt></a> to
399 the container object's end if <span class=
400 "c1"><tt>order</tt></span> is at least the size of the
401 container object.</p>
402 </td>
403 </tr>
405 <tr>
406 <td>
407 <pre>
408 <b>inline</b> <a href="#iterator10418194"><tt>iterator</tt></a>
409 find_by_order
410 (<a href="#size_type55424436"><tt>size_type</tt></a> order)
411 </pre>
412 </td>
414 <td>
415 <p>Finds an entry by order. Returns an <a href=
416 "#iterator10418194"><tt>iterator</tt></a> to the entry
417 with the order <span class="c1"><tt>order</tt></span>, or
418 an <a href="#iterator10418194"><tt>iterator</tt></a> to
419 the container object's end if <span class=
420 "c1"><tt>order</tt></span> is at least the size of the
421 container object.</p>
422 </td>
423 </tr>
425 <tr>
426 <td>
427 <pre>
428 <b>inline</b> <a href="#size_type55424436"><tt>size_type</tt></a>
429 order_of_key
430 (<a href=
431 "#const_key_reference3185471705"><tt>const_key_reference</tt></a> r_key) <b>const</b>
432 </pre>
433 </td>
435 <td>
436 <p>Returns the order of a key within a sequence. For
437 example, if <span class="c1"><tt>r_key</tt></span> is the
438 smallest key, this method will return 0; if <span class=
439 "c1"><tt>r_key</tt></span> is a key between the smallest
440 and next key, this method will return 1; if <span class=
441 "c1"><tt>r_key</tt></span> is a key larger than the
442 largest key, this method will return the size of r_c.</p>
443 </td>
444 </tr>
446 <tr>
447 <td>
448 <pre>
449 <b>inline</b> <a href="#size_type55424436"><tt>size_type</tt></a>
450 order_of_prefix
451 (<a href=
452 "#const_e_iterator2450008044"><tt>const_e_iterator</tt></a> b,
453 <a href=
454 "#const_e_iterator2450008044"><tt>const_e_iterator</tt></a> e) <b>const</b>
455 </pre>
456 </td>
458 <td>
459 <p>Returns the order of a prefix within a sequence. For
460 <span class="c1"><tt>e</tt></span>example, if [b,
461 <span class="c1"><tt>e</tt></span>] is the smallest
462 prefix, this method will return 0; if r_key is a key
463 <span class="c1"><tt>b</tt></span>between the smallest and
464 next key, this method will return 1; if r_key is a key
465 larger than the largest key, this method will return the
466 size of r_c.</p>
467 </td>
468 </tr>
469 </table>
471 <h2><a name="link10" id="link10">Protected Types and
472 Constants</a></h2>
474 <h3><a name="link11" id="link11">Value-Type
475 Definitions</a></h3>
477 <table class="c1" width="100%" border="1" summary="Types">
478 <tr>
479 <td width="30%" align="left"><b>Type</b></td>
481 <td width="55%" align="left"><b>Definition</b></td>
483 <td width="15%" align="left"><b>Description</b></td>
484 </tr>
486 <tr>
487 <td>
488 <pre>
489 <a name="const_reference495461441" id=
490 "const_reference495461441">const_reference</a>
491 </pre>
492 </td>
494 <td>
495 <pre>
496 The instantiating container's const reference type.
497 </pre>
498 </td>
500 <td>
501 <p>Const reference to the container's value-type.</p>
502 </td>
503 </tr>
505 <tr>
506 <td>
507 <pre>
508 <a name="const_pointer878814947" id=
509 "const_pointer878814947">const_pointer</a>
510 </pre>
511 </td>
513 <td>
514 <pre>
515 The instantiating container's const pointer type.
516 </pre>
517 </td>
519 <td>
520 <p>Const pointer to the container's value-type.</p>
521 </td>
522 </tr>
524 <tr>
525 <td>
526 <pre>
527 <a name="const_metadata_reference1108857465" id=
528 "const_metadata_reference1108857465">const_metadata_reference</a>
529 </pre>
530 </td>
532 <td>
533 <pre>
534 <b>typename</b> <a href=
535 "#Allocator35940069"><tt>Allocator</tt></a>::<b>template</b> rebind&lt;
536 <a href=
537 "#metadata_type2849297114"><tt>metadata_type</tt></a>&gt;::other::<a href="#const_reference495461441"><tt>const_reference</tt></a>
538 </pre>
539 </td>
541 <td>
542 <p>Const metadata reference.</p>
543 </td>
544 </tr>
546 <tr>
547 <td>
548 <pre>
549 <a name="metadata_reference583863863" id=
550 "metadata_reference583863863">metadata_reference</a>
551 </pre>
552 </td>
554 <td>
555 <pre>
556 <b>typename</b> <a href=
557 "#Allocator35940069"><tt>Allocator</tt></a>::<b>template</b> rebind&lt;
558 <a href=
559 "#metadata_type2849297114"><tt>metadata_type</tt></a>&gt;::other::reference
560 </pre>
561 </td>
563 <td>
564 <p>Metadata reference.</p>
565 </td>
566 </tr>
567 </table>
569 <h2><a name="link12" id="link12">Protected Methods</a></h2>
571 <h3><a name="link13" id="link13">Operators</a></h3>
573 <table class="c1" width="100%" border="1" summary="Methods">
574 <tr>
575 <td width="45%" align="left"><b>Method</b></td>
577 <td width="55%" align="left"><b>Description</b></td>
578 </tr>
580 <tr>
581 <td>
582 <pre>
583 <b>inline</b> <b>void</b>
584 <b>operator</b>()
585 (<a href=
586 "#node_iterator3431975247"><tt>node_iterator</tt></a> node_it,
587 <a href=
588 "#const_node_iterator4205924553"><tt>const_node_iterator</tt></a> end_nd_it) <b>const</b>
589 </pre>
590 </td>
592 <td>
593 <p>Updates the rank of a node through a <a href=
594 "#node_iterator3431975247"><tt>node_iterator</tt></a>
595 <span class="c1"><tt>node_it</tt></span>; <span class=
596 "c1"><tt>end_nd_it</tt></span> is the end node <a href=
597 "#iterator10418194"><tt>iterator</tt></a>.</p>
598 </td>
599 </tr>
600 </table>
602 <h3><a name="link14" id="link14">Constructors, destructor, and
603 related</a></h3>
605 <table class="c1" width="100%" border="1" summary="Methods">
606 <tr>
607 <td width="45%" align="left"><b>Method</b></td>
609 <td width="55%" align="left"><b>Description</b></td>
610 </tr>
612 <tr>
613 <td>
614 <pre>
615 <b>virtual</b>
616 ~trie_order_statistics_node_update
618 </pre>
619 </td>
621 <td>
622 <p>Destructor.</p>
623 </td>
624 </tr>
625 </table>
627 <h2><a name="link15" id="link15">Private Methods</a></h2>
629 <h3><a name="link16" id="link16">Overrides</a></h3>
631 <table class="c1" width="100%" border="1" summary="Methods">
632 <tr>
633 <td width="45%" align="left"><b>Method</b></td>
635 <td width="55%" align="left"><b>Description</b></td>
636 </tr>
638 <tr>
639 <td>
640 <pre>
641 <b>virtual</b> <b>bool</b>
642 empty
643 () <b>const</b> = 0
644 </pre>
645 </td>
647 <td>
648 <p>Returns <tt><b>true</b></tt> if the container is
649 empty.</p>
650 </td>
651 </tr>
653 <tr>
654 <td>
655 <pre>
656 <b>virtual</b> <a href="#iterator10418194"><tt>iterator</tt></a>
657 begin
658 () = 0
659 </pre>
660 </td>
662 <td>
663 <p>Returns the <a href=
664 "#iterator10418194"><tt>iterator</tt></a> associated with
665 the trie's first element.</p>
666 </td>
667 </tr>
669 <tr>
670 <td>
671 <pre>
672 <b>virtual</b> <a href="#iterator10418194"><tt>iterator</tt></a>
674 () = 0
675 </pre>
676 </td>
678 <td>
679 <p>Returns the <a href=
680 "#iterator10418194"><tt>iterator</tt></a> associated with
681 the trie's just-after-last element.</p>
682 </td>
683 </tr>
685 <tr>
686 <td>
687 <pre>
688 <b>virtual</b> <a href=
689 "#const_node_iterator4205924553"><tt>const_node_iterator</tt></a>
690 node_begin
691 () <b>const</b> = 0
692 </pre>
693 </td>
695 <td>
696 <p>Returns the <a href=
697 "#const_node_iterator4205924553"><tt>const_node_iterator</tt></a>
698 associated with the trie's root node.</p>
699 </td>
700 </tr>
702 <tr>
703 <td>
704 <pre>
705 <b>virtual</b> <a href=
706 "#node_iterator3431975247"><tt>node_iterator</tt></a>
707 node_begin
708 () = 0
709 </pre>
710 </td>
712 <td>
713 <p>Returns the <a href=
714 "#node_iterator3431975247"><tt>node_iterator</tt></a>
715 associated with the trie's root node.</p>
716 </td>
717 </tr>
719 <tr>
720 <td>
721 <pre>
722 <b>virtual</b> <a href=
723 "#const_node_iterator4205924553"><tt>const_node_iterator</tt></a>
724 node_end
725 () <b>const</b> = 0
726 </pre>
727 </td>
729 <td>
730 <p>Returns the <a href=
731 "#const_node_iterator4205924553"><tt>const_node_iterator</tt></a>
732 associated with a just-after leaf node.</p>
733 </td>
734 </tr>
736 <tr>
737 <td>
738 <pre>
739 <b>virtual</b> <a href=
740 "#node_iterator3431975247"><tt>node_iterator</tt></a>
741 node_end
742 () = 0
743 </pre>
744 </td>
746 <td>
747 <p>Returns the <a href=
748 "#node_iterator3431975247"><tt>node_iterator</tt></a>
749 associated with a just-after leaf node.</p>
750 </td>
751 </tr>
753 <tr>
754 <td>
755 <pre>
756 <b>virtual</b> <a href=
757 "#e_access_traits1948190928"><tt>e_access_traits</tt></a> &amp;
758 get_e_access_traits
759 () = 0
760 </pre>
761 </td>
763 <td>
764 <p>Access to the cmp_fn object.</p>
765 </td>
766 </tr>
767 </table>
768 </div>
769 </body>
770 </html>