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">
6 <meta name=
"generator" content=
7 "HTML Tidy for Linux/x86 (vers 12 April 2005), see www.w3.org" />
9 <title>tree_order_statistics_node_update Interface
</title>
10 <meta http-equiv=
"Content-Type" content=
11 "text/html; charset=us-ascii" />
16 <h1><tt>tree_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/tree_policy.hpp"><tt>tree_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">
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>
38 <a name=
"Const_Node_Iterator1933878761" id=
39 "Const_Node_Iterator1933878761"><b>class
</b> Const_Node_Iterator
</a>
44 <p>Const node iterator type.
</p>
53 <a name=
"Node_Iterator4206909839" id=
54 "Node_Iterator4206909839"><b>class
</b> Node_Iterator
</a>
59 <p>Node iterator type.
</p>
68 <a name=
"Cmp_Fn294335" id=
"Cmp_Fn294335"><b>class
</b> Cmp_Fn
</a>
73 <p>Comparison functor.
</p>
82 <a name=
"Allocator35940069" id=
83 "Allocator35940069"><b>class
</b> Allocator
</a>
88 <p>Allocator type.
</p>
95 <h2><a name=
"link2" id=
"link2">Public Types and
98 <h3><a name=
"link3" id=
"link3">Policy Definitions
</a></h3>
100 <table class=
"c1" width=
"100%" border=
"1" summary=
"Types">
102 <td width=
"30%" align=
"left"><b>Type
</b></td>
104 <td width=
"55%" align=
"left"><b>Definition
</b></td>
106 <td width=
"15%" align=
"left"><b>Description
</b></td>
112 <a name=
"cmp_fn394495" id=
"cmp_fn394495">cmp_fn
</a>
118 <a href=
"#Cmp_Fn294335"><tt>Cmp_Fn
</tt></a>
123 <p><a href=
"#Allocator35940069"><tt>Allocator
</tt></a>
131 <a name=
"allocator48440069" id=
"allocator48440069">allocator
</a>
137 <a href=
"#Allocator35940069"><tt>Allocator
</tt></a>
142 <p><a href=
"#Allocator35940069"><tt>Allocator
</tt></a>
148 <h3><a name=
"link4" id=
"link4">General Definitions
</a></h3>
150 <table class=
"c1" width=
"100%" border=
"1" summary=
"Types">
152 <td width=
"30%" align=
"left"><b>Type
</b></td>
154 <td width=
"55%" align=
"left"><b>Definition
</b></td>
156 <td width=
"15%" align=
"left"><b>Description
</b></td>
162 <a name=
"size_type55424436" id=
"size_type55424436">size_type
</a>
168 <b>typename
</b> <a href=
169 "#allocator48440069"><tt>allocator
</tt></a>::size_type
179 <h3><a name=
"link5" id=
"link5">Key-type Definitions
</a></h3>
181 <table class=
"c1" width=
"100%" border=
"1" summary=
"Types">
183 <td width=
"30%" align=
"left"><b>Type
</b></td>
185 <td width=
"55%" align=
"left"><b>Definition
</b></td>
187 <td width=
"15%" align=
"left"><b>Description
</b></td>
193 <a name=
"key_type10393186" id=
"key_type10393186">key_type
</a>
199 The instantiating container's key type.
211 <a name=
"const_key_reference3185471705" id=
212 "const_key_reference3185471705">const_key_reference
</a>
218 The instantiating container's const key reference type.
223 <p>Const key reference.
</p>
228 <h3><a name=
"link6" id=
"link6">Metadata-Type
231 <table class=
"c1" width=
"100%" border=
"1" summary=
"Types">
233 <td width=
"30%" align=
"left"><b>Type
</b></td>
235 <td width=
"55%" align=
"left"><b>Definition
</b></td>
237 <td width=
"15%" align=
"left"><b>Description
</b></td>
243 <a name=
"metadata_type2849297114" id=
244 "metadata_type2849297114">metadata_type
</a>
250 <a href=
"#size_type55424436"><tt>size_type
</tt></a>
255 <p>Metadata type.
</p>
260 <h3><a name=
"link7" id=
"link7">Iterator Definitions
</a></h3>
262 <table class=
"c1" width=
"100%" border=
"1" summary=
"Types">
264 <td width=
"30%" align=
"left"><b>Type
</b></td>
266 <td width=
"55%" align=
"left"><b>Definition
</b></td>
268 <td width=
"15%" align=
"left"><b>Description
</b></td>
274 <a name=
"const_node_iterator4205924553" id=
275 "const_node_iterator4205924553">const_node_iterator
</a>
282 "#Const_Node_Iterator1933878761"><tt>Const_Node_Iterator
</tt></a>
287 <p>Const node iterator type.
</p>
294 <a name=
"node_iterator3431975247" id=
295 "node_iterator3431975247">node_iterator
</a>
301 <a href=
"#Node_Iterator4206909839"><tt>Node_Iterator
</tt></a>
306 <p>Node iterator type.
</p>
313 <a name=
"const_iterator98626788" id=
314 "const_iterator98626788">const_iterator
</a>
320 <b>typename
</b> <a href=
321 "#const_node_iterator4205924553"><tt>const_node_iterator
</tt></a>::value_type
326 <p>Const iterator type.
</p>
333 <a name=
"iterator10418194" id=
"iterator10418194">iterator
</a>
339 <b>typename
</b> <a href=
340 "#node_iterator3431975247"><tt>node_iterator
</tt></a>::value_type
345 <p>Iterator type.
</p>
350 <h2><a name=
"link8" id=
"link8">Public Methods
</a></h2>
352 <h3><a name=
"link9" id=
"link9">Find-Type Methods
</a></h3>
354 <table class=
"c1" width=
"100%" border=
"1" summary=
"Methods">
356 <td width=
"45%" align=
"left"><b>Method
</b></td>
358 <td width=
"55%" align=
"left"><b>Description
</b></td>
364 <b>inline
</b> <a href=
365 "#const_iterator98626788"><tt>const_iterator
</tt></a>
368 "#size_type55424436"><tt>size_type
</tt></a> order)
<b>const
</b>
373 <p>Finds an entry by order. Returns a
<a href=
374 "#const_iterator98626788"><tt>const_iterator
</tt></a> to
375 the entry with the order
<span class=
376 "c1"><tt>order
</tt></span>, or a
<a href=
377 "#const_iterator98626788"><tt>const_iterator
</tt></a> to
378 the container object's end if
<span class=
379 "c1"><tt>order
</tt></span> is at least the size of the
380 container object.
</p>
387 <b>inline
</b> <a href=
"#iterator10418194"><tt>iterator
</tt></a>
389 (
<a href=
"#size_type55424436"><tt>size_type
</tt></a> order)
394 <p>Finds an entry by order. Returns an
<a href=
395 "#iterator10418194"><tt>iterator
</tt></a> to the entry
396 with the order
<span class=
"c1"><tt>order
</tt></span>, or
397 an
<a href=
"#iterator10418194"><tt>iterator
</tt></a> to
398 the container object's end if
<span class=
399 "c1"><tt>order
</tt></span> is at least the size of the
400 container object.
</p>
407 <b>inline
</b> <a href=
"#size_type55424436"><tt>size_type
</tt></a>
410 "#const_key_reference3185471705"><tt>const_key_reference
</tt></a> r_key)
<b>const
</b>
415 <p>Returns the order of a key within a sequence. For
416 example, if
<span class=
"c1"><tt>r_key
</tt></span> is the
417 smallest key, this method will return
0; if
<span class=
418 "c1"><tt>r_key
</tt></span> is a key between the smallest
419 and next key, this method will return
1; if
<span class=
420 "c1"><tt>r_key
</tt></span> is a key larger than the
421 largest key, this method will return the size of r_c.
</p>
426 <h2><a name=
"link10" id=
"link10">Protected Types and
429 <h3><a name=
"link11" id=
"link11">Value-type
432 <table class=
"c1" width=
"100%" border=
"1" summary=
"Types">
434 <td width=
"30%" align=
"left"><b>Type
</b></td>
436 <td width=
"55%" align=
"left"><b>Definition
</b></td>
438 <td width=
"15%" align=
"left"><b>Description
</b></td>
444 <a name=
"const_reference495461441" id=
445 "const_reference495461441">const_reference
</a>
451 The instantiating container's const reference type.
456 <p>Const reference to the container's value-type.
</p>
463 <a name=
"const_pointer878814947" id=
464 "const_pointer878814947">const_pointer
</a>
470 The instantiating container's const pointer type.
475 <p>Const pointer to the container's value-type.
</p>
482 <a name=
"const_metadata_reference1108857465" id=
483 "const_metadata_reference1108857465">const_metadata_reference
</a>
489 <b>typename
</b> <a href=
490 "#Allocator35940069"><tt>Allocator
</tt></a>::
<b>template
</b> rebind
<
492 "#metadata_type2849297114"><tt>metadata_type
</tt></a>>::other::
<a href=
"#const_reference495461441"><tt>const_reference
</tt></a>
497 <p>Const metadata reference.
</p>
504 <a name=
"metadata_reference583863863" id=
505 "metadata_reference583863863">metadata_reference
</a>
511 <b>typename
</b> <a href=
512 "#Allocator35940069"><tt>Allocator
</tt></a>::
<b>template
</b> rebind
<
514 "#metadata_type2849297114"><tt>metadata_type
</tt></a>>::other::reference
519 <p>Metadata reference.
</p>
524 <h2><a name=
"link12" id=
"link12">Protected Methods
</a></h2>
526 <h3><a name=
"link13" id=
"link13">Operators
</a></h3>
528 <table class=
"c1" width=
"100%" border=
"1" summary=
"Methods">
530 <td width=
"45%" align=
"left"><b>Method
</b></td>
532 <td width=
"55%" align=
"left"><b>Description
</b></td>
538 <b>inline
</b> <b>void
</b>
541 "#node_iterator3431975247"><tt>node_iterator
</tt></a> node_it,
543 "#const_node_iterator4205924553"><tt>const_node_iterator
</tt></a> end_nd_it)
<b>const
</b>
548 <p>Updates the rank of a node through a
<a href=
549 "#node_iterator3431975247"><tt>node_iterator
</tt></a>
550 <span class=
"c1"><tt>node_it
</tt></span>;
<span class=
551 "c1"><tt>end_nd_it
</tt></span> is the end node
<a href=
552 "#iterator10418194"><tt>iterator
</tt></a>.
</p>
557 <h3><a name=
"link14" id=
"link14">Constructors, destructor, and
560 <table class=
"c1" width=
"100%" border=
"1" summary=
"Methods">
562 <td width=
"45%" align=
"left"><b>Method
</b></td>
564 <td width=
"55%" align=
"left"><b>Description
</b></td>
571 ~tree_order_statistics_node_update
582 <h2><a name=
"link15" id=
"link15">Private Methods
</a></h2>
584 <h3><a name=
"link16" id=
"link16">Overrides
</a></h3>
586 <table class=
"c1" width=
"100%" border=
"1" summary=
"Methods">
588 <td width=
"45%" align=
"left"><b>Method
</b></td>
590 <td width=
"55%" align=
"left"><b>Description
</b></td>
596 <b>virtual
</b> <a href=
597 "#const_node_iterator4205924553"><tt>const_node_iterator
</tt></a>
604 <p>Returns the
<a href=
605 "#const_node_iterator4205924553"><tt>const_node_iterator
</tt></a>
606 associated with the tree's root node.
</p>
613 <b>virtual
</b> <a href=
614 "#node_iterator3431975247"><tt>node_iterator
</tt></a>
621 <p>Returns the
<a href=
622 "#node_iterator3431975247"><tt>node_iterator
</tt></a>
623 associated with the tree's root node.
</p>
630 <b>virtual
</b> <a href=
631 "#const_node_iterator4205924553"><tt>const_node_iterator
</tt></a>
638 <p>Returns the
<a href=
639 "#const_node_iterator4205924553"><tt>const_node_iterator
</tt></a>
640 associated with a just-after leaf node.
</p>
647 <b>virtual
</b> <a href=
648 "#node_iterator3431975247"><tt>node_iterator
</tt></a>
655 <p>Returns the
<a href=
656 "#node_iterator3431975247"><tt>node_iterator
</tt></a>
657 associated with a just-after leaf node.
</p>
664 <b>virtual
</b> <a href=
"#cmp_fn394495"><tt>cmp_fn
</tt></a> &
671 <p>Access to the
<a href=
672 "#cmp_fn394495"><tt>cmp_fn
</tt></a> object.
</p>