Dead
[official-gcc.git] / gomp-20050608-branch / libstdc++-v3 / docs / html / ext / pb_assoc / basic_tree_assoc_cntnr.html
blob73595b788ab4ef4cf72bffbe382ea8cebb0b9386
2 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
5 <html>
6 <head>
7 <title>basic_tree_assoc_cntnr Interface
8 </title>
10 </head>
12 <body>
13 <h1>
14 <tt>basic_tree_assoc_cntnr
15 </tt>
17 Interface
20 </h1>
22 <p>A basic tree-based associative container.
23 </p>
25 <ol>
26 <li>
27 <a href = "../../../../include/ext/pb_assoc/assoc_cntnr.hpp"><tt>assoc_cntnr.hpp</tt>
28 </a>
30 </li>
32 <li>
33 <a href = "#link1">Template parameters.
34 </a>
36 </li>
38 <li>
39 <a href = "#link2">Base classes.
40 </a>
42 </li>
44 <li>
45 Public Types and Constants:
48 <ol>
49 <li>
50 <a href = "#link3">General container definitions.
51 </a>
53 </li>
55 <li>
56 <a href = "#link4">Key-type definitions.
57 </a>
59 </li>
61 <li>
62 <a href = "#link5">Policy definitions.
63 </a>
65 </li>
67 <li>
68 <a href = "#link6">Iterator definitions.
69 </a>
71 </li>
73 </ol>
75 </li>
77 <li>
78 Public Methods:
81 <ol>
82 <li>
83 <a href = "#link7">Constructors, destructor, and related.
84 </a>
86 </li>
88 <li>
89 <a href = "#link8">Policy access methods.
90 </a>
92 </li>
94 <li>
95 <a href = "#link9">Erase methods.
96 </a>
98 </li>
100 <li>
101 <a href = "#link10">Iteration methods.
102 </a>
104 </li>
106 <li>
107 <a href = "#link11">Node-Iteration methods.
108 </a>
110 </li>
112 <li>
113 <a href = "#link12">Split and join methods.
114 </a>
116 </li>
118 </ol>
120 </li>
122 </ol>
125 <h2>
126 <a name = "link1">Template parameters.
127 </a>
129 </h2>
131 <table WIDTH = "100%" BORDER = "1">
132 <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>
135 <tr>
136 <td>
137 <pre><a name = "Key3735928856">Key</a></pre>
140 </td>
142 <td>
143 <p>Key type.</p>
146 </td>
148 <td>
152 </td>
154 </tr>
156 <tr>
157 <td>
158 <pre><a name = "Data3735928937">Data</a></pre>
161 </td>
163 <td>
164 <p>Data type.</p>
167 </td>
169 <td>
173 </td>
175 </tr>
177 <tr>
178 <td>
179 <pre><a name = "Cmp_Fn3735929122">Cmp_Fn</a></pre>
182 </td>
184 <td>
185 <p>Comparison functor.</p>
188 </td>
190 <td>
194 </td>
196 </tr>
198 <tr>
199 <td>
200 <pre><a name = "DS_Tag,3735929133">DS_Tag,</a></pre>
203 </td>
205 <td>
206 <p>Data-structure tag.</p>
209 </td>
211 <td>
215 </td>
217 </tr>
219 <tr>
220 <td>
221 <pre><a name = "Node_Updator3735929779">Node_Updator</a></pre>
224 </td>
226 <td>
227 <p>Node updator type.</p>
230 <p><a href = "concepts.html#concepts_node_invariants">Node Invariants</a> explains this concept.</p>
233 </td>
235 <td>
239 </td>
241 </tr>
243 <tr>
244 <td>
245 <pre><a name = "Allocator3735929488">Allocator</a></pre>
248 </td>
250 <td>
251 <p>Allocator type.</p>
254 </td>
256 <td>
260 </td>
262 </tr>
264 </table>
266 <h2>
267 <a name = "link2">Base classes.
268 </a>
270 </h2>
272 <table WIDTH = "100%" BORDER = "1">
273 <TR><TD Width = "80%" ALIGN = "left"><b>Class</b></TD><TD Width = "20%" ALIGN = "left"><b>Derivation Type</b></TD></TR>
276 <tr>
277 <td>
278 <pre><a href = "#Node_Updator3735929779">Node_Updator</a></pre>
281 </td>
283 <td>
284 <p>public</p>
287 </td>
289 </tr>
291 </table>
293 <h2>
294 <a name = "link3">General container definitions.
295 </a>
297 </h2>
299 <table WIDTH = "100%" BORDER = "1">
300 <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>
303 <tr>
304 <td>
305 <pre><a name = "size_type3735929547">size_type</a></pre>
308 </td>
310 <td>
311 <pre><b>typename</b> <a href = "#Allocator3735929488">Allocator</a>::size_type</pre>
314 </td>
316 <td>
317 <p>Size type.</p>
320 </td>
322 </tr>
324 </table>
326 <h2>
327 <a name = "link4">Key-type definitions.
328 </a>
330 </h2>
332 <table WIDTH = "100%" BORDER = "1">
333 <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>
336 <tr>
337 <td>
338 <pre><a name = "const_key_reference3735929552">const_key_reference</a></pre>
341 </td>
343 <td>
344 <pre><b>typename</b> <a href = "#Allocator3735929488">Allocator</a>::<b>template</b> rebind&lt;
345 <a href = "#Key3735928856">Key</a>&gt;::other::const_reference</pre>
348 </td>
350 <td>
351 <p>Const key reference type.</p>
354 </td>
356 </tr>
358 </table>
360 <h2>
361 <a name = "link5">Policy definitions.
362 </a>
364 </h2>
366 <table WIDTH = "100%" BORDER = "1">
367 <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>
370 <tr>
371 <td>
372 <pre><a name = "cmp_fn3735929186">cmp_fn</a></pre>
375 </td>
377 <td>
378 <pre><a href = "#Cmp_Fn3735929122">Cmp_Fn</a></pre>
381 </td>
383 <td>
384 <p>Comparison functor type.</p>
387 </td>
389 </tr>
391 <tr>
392 <td>
393 <pre><a name = "node_updator3735929843">node_updator</a></pre>
396 </td>
398 <td>
399 <pre><a href = "#Node_Updator3735929779">Node_Updator</a></pre>
402 </td>
404 <td>
405 <p>Node updator type.</p>
408 </td>
410 </tr>
412 </table>
414 <h2>
415 <a name = "link6">Iterator definitions.
416 </a>
418 </h2>
420 <table WIDTH = "100%" BORDER = "1">
421 <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>
424 <tr>
425 <td>
426 <pre><a name = "const_iterator3735930079">const_iterator</a></pre>
429 </td>
431 <td>
432 <pre>Underlying data-structure's const range-type iterator.</pre>
435 </td>
437 <td>
438 <p>Const range-type iterator.</p>
441 </td>
443 </tr>
445 <tr>
446 <td>
447 <pre><a name = "iterator3735929433">iterator</a></pre>
450 </td>
452 <td>
453 <pre>Underlying data-structure's range-type iterator.</pre>
456 </td>
458 <td>
459 <p>Range-type iterator.</p>
462 </td>
464 </tr>
466 <tr>
467 <td>
468 <pre><a name = "const_reverse_iterator3735929745">const_reverse_iterator</a></pre>
471 </td>
473 <td>
474 <pre>Underlying data-structure's const reverse range-type iterator.</pre>
477 </td>
479 <td>
480 <p>Const reverse range-type iterator.</p>
483 </td>
485 </tr>
487 <tr>
488 <td>
489 <pre><a name = "reverse_iterator3735929420">reverse_iterator</a></pre>
492 </td>
494 <td>
495 <pre>Underlying data-structure's reverse range-type iterator.</pre>
498 </td>
500 <td>
501 <p>Reverse range-type iterator.</p>
504 </td>
506 </tr>
508 <tr>
509 <td>
510 <pre><a name = "const_node_iterator3735929535">const_node_iterator</a></pre>
513 </td>
515 <td>
516 <pre><a href = "basic_tree_assoc_cntnr_const_node_iterator.html"><tt><font color = "olive">basic_tree_assoc_cntnr</font>::const_node_iterator</tt></a></pre>
519 </td>
521 <td>
522 <p>Const node iterator.</p>
525 </td>
527 </tr>
529 <tr>
530 <td>
531 <pre><a name = "node_iterator3735929950">node_iterator</a></pre>
534 </td>
536 <td>
537 <pre><a href = "basic_tree_assoc_cntnr_node_iterator.html"><tt><font color = "olive">basic_tree_assoc_cntnr</font>::node_iterator</tt></a></pre>
540 </td>
542 <td>
543 <p>Node iterator.</p>
546 </td>
548 </tr>
550 </table>
552 <h2>
553 <a name = "link7">Constructors, destructor, and related.
554 </a>
556 </h2>
558 <table WIDTH = "100%" BORDER = "1">
559 <TR><TD Width = "45%" ALIGN = "left"><b>Method</b></TD><TD Width = "55%" ALIGN = "left"><b>Description</b></TD></TR>
562 <tr>
563 <td>
564 <pre><b>virtual</b>
565 ~basic_tree_assoc_cntnr
566 ()</pre>
569 </td>
571 <td>
572 <p>Destructor.</p>
575 </td>
577 </tr>
579 </table>
581 <h2>
582 <a name = "link8">Policy access methods.
583 </a>
585 </h2>
587 <table WIDTH = "100%" BORDER = "1">
588 <TR><TD Width = "45%" ALIGN = "left"><b>Method</b></TD><TD Width = "55%" ALIGN = "left"><b>Description</b></TD></TR>
591 <tr>
592 <td>
593 <pre><a href = "#cmp_fn3735929186">cmp_fn</a> &amp;
594 get_cmp_fn
595 ()</pre>
598 </td>
600 <td>
601 <p>Access to the <a href = "#cmp_fn3735929186"><tt>cmp_fn</tt></a> object.</p>
604 </td>
606 </tr>
608 <tr>
609 <td>
610 <pre><b>const</b> <a href = "#cmp_fn3735929186">cmp_fn</a> &amp;
611 get_cmp_fn
612 () <b>const</b></pre>
615 </td>
617 <td>
618 <p>Const access to the <a href = "#cmp_fn3735929186"><tt>cmp_fn</tt></a> object.</p>
621 </td>
623 </tr>
625 <tr>
626 <td>
627 <pre><a href = "#node_updator3735929843">node_updator</a> &amp;
628 get_node_updator
629 ()</pre>
632 </td>
634 <td>
635 <p>Access to the <a href = "#node_updator3735929843"><tt>node_updator</tt></a> object.</p>
638 </td>
640 </tr>
642 <tr>
643 <td>
644 <pre><b>const</b> <a href = "#node_updator3735929843">node_updator</a> &amp;
645 get_node_updator
646 () <b>const</b></pre>
649 </td>
651 <td>
652 <p>Const access to the <a href = "#node_updator3735929843"><tt>node_updator</tt></a> object.</p>
655 </td>
657 </tr>
659 </table>
661 <h2>
662 <a name = "link9">Erase methods.
663 </a>
665 </h2>
667 <table WIDTH = "100%" BORDER = "1">
668 <TR><TD Width = "45%" ALIGN = "left"><b>Method</b></TD><TD Width = "55%" ALIGN = "left"><b>Description</b></TD></TR>
671 <tr>
672 <td>
673 <pre><b>inline</b> <a href = "#size_type3735929547">size_type</a>
674 erase
675 (<a href = "#const_key_reference3735929552">const_key_reference</a> r_key)</pre>
678 </td>
680 <td>
681 <p>Erases the value_type associated with <font color = "#666666"><tt>r_key</tt></font>; returns the number of value_types erased (0 or 1).</p>
684 </td>
686 </tr>
688 <tr>
689 <td>
690 <pre><b>inline</b> <a href = "#iterator3735929433">iterator</a>
691 erase
692 (<a href = "#iterator3735929433">iterator</a> it)</pre>
695 </td>
697 <td>
698 <p>Erases the value_type corresponding to the <a href = "#iterator3735929433"><tt>iterator</tt></a> <font color = "#666666"><tt>it</tt></font>. Returns the <a href = "#iterator3735929433"><tt>iterator</tt></a> corresponding to the next value_type.</p>
701 </td>
703 </tr>
705 <tr>
706 <td>
707 <pre><b>inline</b> <a href = "#reverse_iterator3735929420">reverse_iterator</a>
708 erase
709 (<a href = "#reverse_iterator3735929420">reverse_iterator</a> it)</pre>
712 </td>
714 <td>
715 <p>Erases the value_type corresponding to the <a href = "#reverse_iterator3735929420"><tt>reverse_iterator</tt></a> <font color = "#666666"><tt>it</tt></font>. Returns the <a href = "#reverse_iterator3735929420"><tt>reverse_iterator</tt></a> corresponding to the previous value_type.</p>
718 </td>
720 </tr>
722 </table>
724 <h2>
725 <a name = "link10">Iteration methods.
726 </a>
728 </h2>
730 <table WIDTH = "100%" BORDER = "1">
731 <TR><TD Width = "45%" ALIGN = "left"><b>Method</b></TD><TD Width = "55%" ALIGN = "left"><b>Description</b></TD></TR>
734 <tr>
735 <td>
736 <pre><b>inline</b> <a href = "#reverse_iterator3735929420">reverse_iterator</a>
737 rbegin
738 ()</pre>
741 </td>
743 <td>
744 <p>Returns a <a href = "#reverse_iterator3735929420"><tt>reverse_iterator</tt></a> corresponding to the last value_type in the container.</p>
747 </td>
749 </tr>
751 <tr>
752 <td>
753 <pre><b>inline</b> <a href = "#const_reverse_iterator3735929745">const_reverse_iterator</a>
754 rbegin
755 () <b>const</b></pre>
758 </td>
760 <td>
761 <p>Returns a <a href = "#const_reverse_iterator3735929745"><tt>const_reverse_iterator</tt></a> corresponding to the last value_type in the container.</p>
764 </td>
766 </tr>
768 <tr>
769 <td>
770 <pre><b>inline</b> <a href = "#reverse_iterator3735929420">reverse_iterator</a>
771 rend
772 ()</pre>
775 </td>
777 <td>
778 <p>Returns a <a href = "#reverse_iterator3735929420"><tt>reverse_iterator</tt></a> corresponding to the just-before-first value_type in the container.</p>
781 </td>
783 </tr>
785 <tr>
786 <td>
787 <pre><b>inline</b> <a href = "#const_reverse_iterator3735929745">const_reverse_iterator</a>
788 rend
789 () <b>const</b></pre>
792 </td>
794 <td>
795 <p>Returns a <a href = "#const_reverse_iterator3735929745"><tt>const_reverse_iterator</tt></a> corresponding to the just-before-first value_type in the container.</p>
798 </td>
800 </tr>
802 </table>
804 <h2>
805 <a name = "link11">Node-Iteration methods.
806 </a>
808 </h2>
810 <table WIDTH = "100%" BORDER = "1">
811 <TR><TD Width = "45%" ALIGN = "left"><b>Method</b></TD><TD Width = "55%" ALIGN = "left"><b>Description</b></TD></TR>
814 <tr>
815 <td>
816 <pre><b>inline</b> <a href = "#node_iterator3735929950">node_iterator</a>
817 node_begin
818 ()</pre>
821 </td>
823 <td>
824 <p>Returns a <a href = "#node_iterator3735929950"><tt>node_iterator</tt></a> corresponding to the value_type at the root of the tree.</p>
827 </td>
829 </tr>
831 <tr>
832 <td>
833 <pre><b>inline</b> <a href = "#const_node_iterator3735929535">const_node_iterator</a>
834 node_begin
835 () <b>const</b></pre>
838 </td>
840 <td>
841 <p>Returns a <a href = "#const_node_iterator3735929535"><tt>const_node_iterator</tt></a> corresponding to the value_type at the root of the tree.</p>
844 </td>
846 </tr>
848 <tr>
849 <td>
850 <pre><b>inline</b> <a href = "#node_iterator3735929950">node_iterator</a>
851 node_end
852 ()</pre>
855 </td>
857 <td>
858 <p>Returns a <a href = "#node_iterator3735929950"><tt>node_iterator</tt></a> corresponding to a value_type just after a leaf of the tree.</p>
861 </td>
863 </tr>
865 <tr>
866 <td>
867 <pre><b>inline</b> <a href = "#const_node_iterator3735929535">const_node_iterator</a>
868 node_end
869 () <b>const</b></pre>
872 </td>
874 <td>
875 <p>Returns a <a href = "#const_node_iterator3735929535"><tt>const_node_iterator</tt></a> corresponding to a value_type just after a leaf of the tree.</p>
878 </td>
880 </tr>
882 </table>
884 <h2>
885 <a name = "link12">Split and join methods.
886 </a>
888 </h2>
890 <table WIDTH = "100%" BORDER = "1">
891 <TR><TD Width = "45%" ALIGN = "left"><b>Method</b></TD><TD Width = "55%" ALIGN = "left"><b>Description</b></TD></TR>
894 <tr>
895 <td>
896 <pre><b>void</b>
897 join
898 (<font color = "olive">basic_tree_assoc_cntnr</font> &amp;r_other)</pre>
901 </td>
903 <td>
904 <p>Joins two trees. When this function returns, <font color = "#666666"><tt>r_other</tt></font> will be empty.</p>
907 <p>When calling this function, <font color = "#666666"><tt>r_other</tt></font>'s keys must be all larger or all smaller than this object's keys. </p>
910 </td>
912 </tr>
914 <tr>
915 <td>
916 <pre><b>inline</b> <b>void</b>
917 split
918 (<a href = "#const_key_reference3735929552">const_key_reference</a> r_key,
919 <font color = "olive">basic_tree_assoc_cntnr</font> &amp;r_other)</pre>
922 </td>
924 <td>
925 <p>Joins two trees. When this function returns, <font color = "#666666"><tt>r_other</tt></font> will be empty.</p>
928 </td>
930 </tr>
932 </table>
936 </body>
938 </html>