2 <!DOCTYPE HTML PUBLIC
"-//W3C//DTD HTML 4.0 Transitional//EN">
7 <title>basic_tree_assoc_cntnr Interface
14 <tt>basic_tree_assoc_cntnr
22 <p>A basic tree-based associative container.
27 <a href =
"../../../../include/ext/pb_assoc/assoc_cntnr.hpp"><tt>assoc_cntnr.hpp
</tt>
33 <a href =
"#link1">Template parameters.
39 <a href =
"#link2">Base classes.
45 Public Types and Constants:
50 <a href =
"#link3">General container definitions.
56 <a href =
"#link4">Key-type definitions.
62 <a href =
"#link5">Policy definitions.
68 <a href =
"#link6">Iterator definitions.
83 <a href =
"#link7">Constructors, destructor, and related.
89 <a href =
"#link8">Policy access methods.
95 <a href =
"#link9">Erase methods.
101 <a href =
"#link10">Iteration methods.
107 <a href =
"#link11">Node-Iteration methods.
113 <a href =
"#link12">Split and join methods.
126 <a name =
"link1">Template parameters.
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>
137 <pre><a name =
"Key3735928856">Key
</a></pre>
158 <pre><a name =
"Data3735928937">Data
</a></pre>
179 <pre><a name =
"Cmp_Fn3735929122">Cmp_Fn
</a></pre>
185 <p>Comparison functor.
</p>
200 <pre><a name =
"DS_Tag,3735929133">DS_Tag,
</a></pre>
206 <p>Data-structure tag.
</p>
221 <pre><a name =
"Node_Updator3735929779">Node_Updator
</a></pre>
227 <p>Node updator type.
</p>
230 <p><a href =
"concepts.html#concepts_node_invariants">Node Invariants
</a> explains this concept.
</p>
245 <pre><a name =
"Allocator3735929488">Allocator
</a></pre>
251 <p>Allocator type.
</p>
267 <a name =
"link2">Base classes.
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>
278 <pre><a href =
"#Node_Updator3735929779">Node_Updator
</a></pre>
294 <a name =
"link3">General container definitions.
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>
305 <pre><a name =
"size_type3735929547">size_type
</a></pre>
311 <pre><b>typename
</b> <a href =
"#Allocator3735929488">Allocator
</a>::size_type
</pre>
327 <a name =
"link4">Key-type definitions.
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>
338 <pre><a name =
"const_key_reference3735929552">const_key_reference
</a></pre>
344 <pre><b>typename
</b> <a href =
"#Allocator3735929488">Allocator
</a>::
<b>template
</b> rebind
<
345 <a href =
"#Key3735928856">Key
</a>>::other::const_reference
</pre>
351 <p>Const key reference type.
</p>
361 <a name =
"link5">Policy definitions.
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>
372 <pre><a name =
"cmp_fn3735929186">cmp_fn
</a></pre>
378 <pre><a href =
"#Cmp_Fn3735929122">Cmp_Fn
</a></pre>
384 <p>Comparison functor type.
</p>
393 <pre><a name =
"node_updator3735929843">node_updator
</a></pre>
399 <pre><a href =
"#Node_Updator3735929779">Node_Updator
</a></pre>
405 <p>Node updator type.
</p>
415 <a name =
"link6">Iterator definitions.
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>
426 <pre><a name =
"const_iterator3735930079">const_iterator
</a></pre>
432 <pre>Underlying data-structure's const range-type iterator.
</pre>
438 <p>Const range-type iterator.
</p>
447 <pre><a name =
"iterator3735929433">iterator
</a></pre>
453 <pre>Underlying data-structure's range-type iterator.
</pre>
459 <p>Range-type iterator.
</p>
468 <pre><a name =
"const_reverse_iterator3735929745">const_reverse_iterator
</a></pre>
474 <pre>Underlying data-structure's const reverse range-type iterator.
</pre>
480 <p>Const reverse range-type iterator.
</p>
489 <pre><a name =
"reverse_iterator3735929420">reverse_iterator
</a></pre>
495 <pre>Underlying data-structure's reverse range-type iterator.
</pre>
501 <p>Reverse range-type iterator.
</p>
510 <pre><a name =
"const_node_iterator3735929535">const_node_iterator
</a></pre>
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>
522 <p>Const node iterator.
</p>
531 <pre><a name =
"node_iterator3735929950">node_iterator
</a></pre>
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>
543 <p>Node iterator.
</p>
553 <a name =
"link7">Constructors, destructor, and related.
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>
565 ~basic_tree_assoc_cntnr
582 <a name =
"link8">Policy access methods.
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>
593 <pre><a href =
"#cmp_fn3735929186">cmp_fn
</a> &
601 <p>Access to the
<a href =
"#cmp_fn3735929186"><tt>cmp_fn
</tt></a> object.
</p>
610 <pre><b>const
</b> <a href =
"#cmp_fn3735929186">cmp_fn
</a> &
612 ()
<b>const
</b></pre>
618 <p>Const access to the
<a href =
"#cmp_fn3735929186"><tt>cmp_fn
</tt></a> object.
</p>
627 <pre><a href =
"#node_updator3735929843">node_updator
</a> &
635 <p>Access to the
<a href =
"#node_updator3735929843"><tt>node_updator
</tt></a> object.
</p>
644 <pre><b>const
</b> <a href =
"#node_updator3735929843">node_updator
</a> &
646 ()
<b>const
</b></pre>
652 <p>Const access to the
<a href =
"#node_updator3735929843"><tt>node_updator
</tt></a> object.
</p>
662 <a name =
"link9">Erase methods.
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>
673 <pre><b>inline
</b> <a href =
"#size_type3735929547">size_type
</a>
675 (
<a href =
"#const_key_reference3735929552">const_key_reference
</a> r_key)
</pre>
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>
690 <pre><b>inline
</b> <a href =
"#iterator3735929433">iterator
</a>
692 (
<a href =
"#iterator3735929433">iterator
</a> it)
</pre>
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>
707 <pre><b>inline
</b> <a href =
"#reverse_iterator3735929420">reverse_iterator
</a>
709 (
<a href =
"#reverse_iterator3735929420">reverse_iterator
</a> it)
</pre>
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>
725 <a name =
"link10">Iteration methods.
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>
736 <pre><b>inline
</b> <a href =
"#reverse_iterator3735929420">reverse_iterator
</a>
744 <p>Returns a
<a href =
"#reverse_iterator3735929420"><tt>reverse_iterator
</tt></a> corresponding to the last value_type in the container.
</p>
753 <pre><b>inline
</b> <a href =
"#const_reverse_iterator3735929745">const_reverse_iterator
</a>
755 ()
<b>const
</b></pre>
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>
770 <pre><b>inline
</b> <a href =
"#reverse_iterator3735929420">reverse_iterator
</a>
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>
787 <pre><b>inline
</b> <a href =
"#const_reverse_iterator3735929745">const_reverse_iterator
</a>
789 ()
<b>const
</b></pre>
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>
805 <a name =
"link11">Node-Iteration methods.
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>
816 <pre><b>inline
</b> <a href =
"#node_iterator3735929950">node_iterator
</a>
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>
833 <pre><b>inline
</b> <a href =
"#const_node_iterator3735929535">const_node_iterator
</a>
835 ()
<b>const
</b></pre>
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>
850 <pre><b>inline
</b> <a href =
"#node_iterator3735929950">node_iterator
</a>
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>
867 <pre><b>inline
</b> <a href =
"#const_node_iterator3735929535">const_node_iterator
</a>
869 ()
<b>const
</b></pre>
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>
885 <a name =
"link12">Split and join methods.
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>
898 (
<font color =
"olive">basic_tree_assoc_cntnr
</font> &r_other)
</pre>
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>
916 <pre><b>inline
</b> <b>void
</b>
918 (
<a href =
"#const_key_reference3735929552">const_key_reference
</a> r_key,
919 <font color =
"olive">basic_tree_assoc_cntnr
</font> &r_other)
</pre>
925 <p>Joins two trees. When this function returns,
<font color =
"#666666"><tt>r_other
</tt></font> will be empty.
</p>