1<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3
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" />
8
9  <title>tree_order_statistics_node_update Interface</title>
10  <meta http-equiv="Content-Type" content=
11  "text/html; charset=us-ascii" />
12  </head>
13
14<body>
15  <div id="page">
16    <h1><tt>tree_order_statistics_node_update</tt> Interface</h1>
17
18    <p>Functor updating ranks of entrees.</p>
19
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>
22
23    <h2><a name="link1" id="link1">Template Parameters</a></h2>
24
25    <table class="c1" width="100%" border="1" summary=
26    "Template Parameters">
27      <tr>
28        <td width="20%" align="left"><b>Parameter</b></td>
29
30        <td width="50%" align="left"><b>Description</b></td>
31
32        <td width="30%" align="left"><b>Default Value</b></td>
33      </tr>
34
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>
42
43        <td>
44          <p>Const node iterator type.</p>
45        </td>
46
47        <td>-</td>
48      </tr>
49
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>
57
58        <td>
59          <p>Node iterator type.</p>
60        </td>
61
62        <td>-</td>
63      </tr>
64
65      <tr>
66        <td>
67          <pre>
68<a name="Cmp_Fn294335" id="Cmp_Fn294335"><b>class</b> Cmp_Fn</a>
69</pre>
70        </td>
71
72        <td>
73          <p>Comparison functor.</p>
74        </td>
75
76        <td>-</td>
77      </tr>
78
79      <tr>
80        <td>
81          <pre>
82<a name="Allocator35940069" id=
83"Allocator35940069"><b>class</b> Allocator</a>
84</pre>
85        </td>
86
87        <td>
88          <p>Allocator type.</p>
89        </td>
90
91        <td>-</td>
92      </tr>
93    </table>
94
95    <h2><a name="link2" id="link2">Public Types and
96    Constants</a></h2>
97
98    <h3><a name="link3" id="link3">Policy Definitions</a></h3>
99
100    <table class="c1" width="100%" border="1" summary="Types">
101      <tr>
102        <td width="30%" align="left"><b>Type</b></td>
103
104        <td width="55%" align="left"><b>Definition</b></td>
105
106        <td width="15%" align="left"><b>Description</b></td>
107      </tr>
108
109      <tr>
110        <td>
111          <pre>
112<a name="cmp_fn394495" id="cmp_fn394495">cmp_fn</a>
113</pre>
114        </td>
115
116        <td>
117          <pre>
118<a href="#Cmp_Fn294335"><tt>Cmp_Fn</tt></a>
119</pre>
120        </td>
121
122        <td>
123          <p><a href="#Allocator35940069"><tt>Allocator</tt></a>
124          type.</p>
125        </td>
126      </tr>
127
128      <tr>
129        <td>
130          <pre>
131<a name="allocator48440069" id="allocator48440069">allocator</a>
132</pre>
133        </td>
134
135        <td>
136          <pre>
137<a href="#Allocator35940069"><tt>Allocator</tt></a>
138</pre>
139        </td>
140
141        <td>
142          <p><a href="#Allocator35940069"><tt>Allocator</tt></a>
143          type.</p>
144        </td>
145      </tr>
146    </table>
147
148    <h3><a name="link4" id="link4">General Definitions</a></h3>
149
150    <table class="c1" width="100%" border="1" summary="Types">
151      <tr>
152        <td width="30%" align="left"><b>Type</b></td>
153
154        <td width="55%" align="left"><b>Definition</b></td>
155
156        <td width="15%" align="left"><b>Description</b></td>
157      </tr>
158
159      <tr>
160        <td>
161          <pre>
162<a name="size_type55424436" id="size_type55424436">size_type</a>
163</pre>
164        </td>
165
166        <td>
167          <pre>
168<b>typename</b> <a href=
169"#allocator48440069"><tt>allocator</tt></a>::size_type
170</pre>
171        </td>
172
173        <td>
174          <p>Size type.</p>
175        </td>
176      </tr>
177    </table>
178
179    <h3><a name="link5" id="link5">Key-type Definitions</a></h3>
180
181    <table class="c1" width="100%" border="1" summary="Types">
182      <tr>
183        <td width="30%" align="left"><b>Type</b></td>
184
185        <td width="55%" align="left"><b>Definition</b></td>
186
187        <td width="15%" align="left"><b>Description</b></td>
188      </tr>
189
190      <tr>
191        <td>
192          <pre>
193<a name="key_type10393186" id="key_type10393186">key_type</a>
194</pre>
195        </td>
196
197        <td>
198          <pre>
199The instantiating container's key type.
200</pre>
201        </td>
202
203        <td>
204          <p>Key type.</p>
205        </td>
206      </tr>
207
208      <tr>
209        <td>
210          <pre>
211<a name="const_key_reference3185471705" id=
212"const_key_reference3185471705">const_key_reference</a>
213</pre>
214        </td>
215
216        <td>
217          <pre>
218The instantiating container's const key reference type.
219</pre>
220        </td>
221
222        <td>
223          <p>Const key reference.</p>
224        </td>
225      </tr>
226    </table>
227
228    <h3><a name="link6" id="link6">Metadata-Type
229    Definitions</a></h3>
230
231    <table class="c1" width="100%" border="1" summary="Types">
232      <tr>
233        <td width="30%" align="left"><b>Type</b></td>
234
235        <td width="55%" align="left"><b>Definition</b></td>
236
237        <td width="15%" align="left"><b>Description</b></td>
238      </tr>
239
240      <tr>
241        <td>
242          <pre>
243<a name="metadata_type2849297114" id=
244"metadata_type2849297114">metadata_type</a>
245</pre>
246        </td>
247
248        <td>
249          <pre>
250<a href="#size_type55424436"><tt>size_type</tt></a>
251</pre>
252        </td>
253
254        <td>
255          <p>Metadata type.</p>
256        </td>
257      </tr>
258    </table>
259
260    <h3><a name="link7" id="link7">Iterator Definitions</a></h3>
261
262    <table class="c1" width="100%" border="1" summary="Types">
263      <tr>
264        <td width="30%" align="left"><b>Type</b></td>
265
266        <td width="55%" align="left"><b>Definition</b></td>
267
268        <td width="15%" align="left"><b>Description</b></td>
269      </tr>
270
271      <tr>
272        <td>
273          <pre>
274<a name="const_node_iterator4205924553" id=
275"const_node_iterator4205924553">const_node_iterator</a>
276</pre>
277        </td>
278
279        <td>
280          <pre>
281<a href=
282"#Const_Node_Iterator1933878761"><tt>Const_Node_Iterator</tt></a>
283</pre>
284        </td>
285
286        <td>
287          <p>Const node iterator type.</p>
288        </td>
289      </tr>
290
291      <tr>
292        <td>
293          <pre>
294<a name="node_iterator3431975247" id=
295"node_iterator3431975247">node_iterator</a>
296</pre>
297        </td>
298
299        <td>
300          <pre>
301<a href="#Node_Iterator4206909839"><tt>Node_Iterator</tt></a>
302</pre>
303        </td>
304
305        <td>
306          <p>Node iterator type.</p>
307        </td>
308      </tr>
309
310      <tr>
311        <td>
312          <pre>
313<a name="const_iterator98626788" id=
314"const_iterator98626788">const_iterator</a>
315</pre>
316        </td>
317
318        <td>
319          <pre>
320<b>typename</b> <a href=
321"#const_node_iterator4205924553"><tt>const_node_iterator</tt></a>::value_type
322</pre>
323        </td>
324
325        <td>
326          <p>Const iterator type.</p>
327        </td>
328      </tr>
329
330      <tr>
331        <td>
332          <pre>
333<a name="iterator10418194" id="iterator10418194">iterator</a>
334</pre>
335        </td>
336
337        <td>
338          <pre>
339<b>typename</b> <a href=
340"#node_iterator3431975247"><tt>node_iterator</tt></a>::value_type
341</pre>
342        </td>
343
344        <td>
345          <p>Iterator type.</p>
346        </td>
347      </tr>
348    </table>
349
350    <h2><a name="link8" id="link8">Public Methods</a></h2>
351
352    <h3><a name="link9" id="link9">Find-Type Methods</a></h3>
353
354    <table class="c1" width="100%" border="1" summary="Methods">
355      <tr>
356        <td width="45%" align="left"><b>Method</b></td>
357
358        <td width="55%" align="left"><b>Description</b></td>
359      </tr>
360
361      <tr>
362        <td>
363          <pre>
364<b>inline</b> <a href=
365"#const_iterator98626788"><tt>const_iterator</tt></a>
366  find_by_order
367  (<a href=
368"#size_type55424436"><tt>size_type</tt></a> order) <b>const</b>
369</pre>
370        </td>
371
372        <td>
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>
381        </td>
382      </tr>
383
384      <tr>
385        <td>
386          <pre>
387<b>inline</b> <a href="#iterator10418194"><tt>iterator</tt></a>
388  find_by_order
389  (<a href="#size_type55424436"><tt>size_type</tt></a> order)
390</pre>
391        </td>
392
393        <td>
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>
401        </td>
402      </tr>
403
404      <tr>
405        <td>
406          <pre>
407<b>inline</b> <a href="#size_type55424436"><tt>size_type</tt></a>
408  order_of_key
409  (<a href=
410"#const_key_reference3185471705"><tt>const_key_reference</tt></a> r_key) <b>const</b>
411</pre>
412        </td>
413
414        <td>
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>
422        </td>
423      </tr>
424    </table>
425
426    <h2><a name="link10" id="link10">Protected Types and
427    Constants</a></h2>
428
429    <h3><a name="link11" id="link11">Value-type
430    Definitions</a></h3>
431
432    <table class="c1" width="100%" border="1" summary="Types">
433      <tr>
434        <td width="30%" align="left"><b>Type</b></td>
435
436        <td width="55%" align="left"><b>Definition</b></td>
437
438        <td width="15%" align="left"><b>Description</b></td>
439      </tr>
440
441      <tr>
442        <td>
443          <pre>
444<a name="const_reference495461441" id=
445"const_reference495461441">const_reference</a>
446</pre>
447        </td>
448
449        <td>
450          <pre>
451The instantiating container's const reference  type.
452</pre>
453        </td>
454
455        <td>
456          <p>Const reference to the container's value-type.</p>
457        </td>
458      </tr>
459
460      <tr>
461        <td>
462          <pre>
463<a name="const_pointer878814947" id=
464"const_pointer878814947">const_pointer</a>
465</pre>
466        </td>
467
468        <td>
469          <pre>
470The instantiating container's const pointer  type.
471</pre>
472        </td>
473
474        <td>
475          <p>Const pointer to the container's value-type.</p>
476        </td>
477      </tr>
478
479      <tr>
480        <td>
481          <pre>
482<a name="const_metadata_reference1108857465" id=
483"const_metadata_reference1108857465">const_metadata_reference</a>
484</pre>
485        </td>
486
487        <td>
488          <pre>
489<b>typename</b> <a href=
490"#Allocator35940069"><tt>Allocator</tt></a>::<b>template</b> rebind&lt;
491    <a href=
492"#metadata_type2849297114"><tt>metadata_type</tt></a>&gt;::other::<a href="#const_reference495461441"><tt>const_reference</tt></a>
493</pre>
494        </td>
495
496        <td>
497          <p>Const metadata reference.</p>
498        </td>
499      </tr>
500
501      <tr>
502        <td>
503          <pre>
504<a name="metadata_reference583863863" id=
505"metadata_reference583863863">metadata_reference</a>
506</pre>
507        </td>
508
509        <td>
510          <pre>
511<b>typename</b> <a href=
512"#Allocator35940069"><tt>Allocator</tt></a>::<b>template</b> rebind&lt;
513    <a href=
514"#metadata_type2849297114"><tt>metadata_type</tt></a>&gt;::other::reference
515</pre>
516        </td>
517
518        <td>
519          <p>Metadata reference.</p>
520        </td>
521      </tr>
522    </table>
523
524    <h2><a name="link12" id="link12">Protected Methods</a></h2>
525
526    <h3><a name="link13" id="link13">Operators</a></h3>
527
528    <table class="c1" width="100%" border="1" summary="Methods">
529      <tr>
530        <td width="45%" align="left"><b>Method</b></td>
531
532        <td width="55%" align="left"><b>Description</b></td>
533      </tr>
534
535      <tr>
536        <td>
537          <pre>
538<b>inline</b> <b>void</b>
539  <b>operator</b>()
540  (<a href=
541"#node_iterator3431975247"><tt>node_iterator</tt></a> node_it,
542    <a href=
543"#const_node_iterator4205924553"><tt>const_node_iterator</tt></a> end_nd_it) <b>const</b>
544</pre>
545        </td>
546
547        <td>
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>
553        </td>
554      </tr>
555    </table>
556
557    <h3><a name="link14" id="link14">Constructors, destructor, and
558    related</a></h3>
559
560    <table class="c1" width="100%" border="1" summary="Methods">
561      <tr>
562        <td width="45%" align="left"><b>Method</b></td>
563
564        <td width="55%" align="left"><b>Description</b></td>
565      </tr>
566
567      <tr>
568        <td>
569          <pre>
570<b>virtual</b> 
571  ~tree_order_statistics_node_update
572  ()
573</pre>
574        </td>
575
576        <td>
577          <p>Destructor.</p>
578        </td>
579      </tr>
580    </table>
581
582    <h2><a name="link15" id="link15">Private Methods</a></h2>
583
584    <h3><a name="link16" id="link16">Overrides</a></h3>
585
586    <table class="c1" width="100%" border="1" summary="Methods">
587      <tr>
588        <td width="45%" align="left"><b>Method</b></td>
589
590        <td width="55%" align="left"><b>Description</b></td>
591      </tr>
592
593      <tr>
594        <td>
595          <pre>
596<b>virtual</b> <a href=
597"#const_node_iterator4205924553"><tt>const_node_iterator</tt></a>
598  node_begin
599  () <b>const</b> = 0
600</pre>
601        </td>
602
603        <td>
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>
607        </td>
608      </tr>
609
610      <tr>
611        <td>
612          <pre>
613<b>virtual</b> <a href=
614"#node_iterator3431975247"><tt>node_iterator</tt></a>
615  node_begin
616  () = 0
617</pre>
618        </td>
619
620        <td>
621          <p>Returns the <a href=
622          "#node_iterator3431975247"><tt>node_iterator</tt></a>
623          associated with the tree's root node.</p>
624        </td>
625      </tr>
626
627      <tr>
628        <td>
629          <pre>
630<b>virtual</b> <a href=
631"#const_node_iterator4205924553"><tt>const_node_iterator</tt></a>
632  node_end
633  () <b>const</b> = 0
634</pre>
635        </td>
636
637        <td>
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>
641        </td>
642      </tr>
643
644      <tr>
645        <td>
646          <pre>
647<b>virtual</b> <a href=
648"#node_iterator3431975247"><tt>node_iterator</tt></a>
649  node_end
650  () = 0
651</pre>
652        </td>
653
654        <td>
655          <p>Returns the <a href=
656          "#node_iterator3431975247"><tt>node_iterator</tt></a>
657          associated with a just-after leaf node.</p>
658        </td>
659      </tr>
660
661      <tr>
662        <td>
663          <pre>
664<b>virtual</b> <a href="#cmp_fn394495"><tt>cmp_fn</tt></a> &amp;
665  get_cmp_fn
666  () = 0
667</pre>
668        </td>
669
670        <td>
671          <p>Access to the <a href=
672          "#cmp_fn394495"><tt>cmp_fn</tt></a> object.</p>
673        </td>
674      </tr>
675    </table>
676  </div>
677</body>
678</html>
679