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 "http://gcc.gnu.org/viewcvs/*checkout*/trunk/libstdc%2B%2B-v3/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>