2008-01-10 Vladimir Makarov <vmakarov@redhat.com>
[official-gcc.git] / libstdc++-v3 / docs / html / ext / pb_ds / tree_order_statistics_node_update.html
blob449966b0e4fc5f92c096bad718618361229bd26c
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">
5 <head>
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" />
12 </head>
14 <body>
15 <div id="page">
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">
27 <tr>
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>
33 </tr>
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>
43 <td>
44 <p>Const node iterator type.</p>
45 </td>
47 <td>-</td>
48 </tr>
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>
58 <td>
59 <p>Node iterator type.</p>
60 </td>
62 <td>-</td>
63 </tr>
65 <tr>
66 <td>
67 <pre>
68 <a name="Cmp_Fn294335" id="Cmp_Fn294335"><b>class</b> Cmp_Fn</a>
69 </pre>
70 </td>
72 <td>
73 <p>Comparison functor.</p>
74 </td>
76 <td>-</td>
77 </tr>
79 <tr>
80 <td>
81 <pre>
82 <a name="Allocator35940069" id=
83 "Allocator35940069"><b>class</b> Allocator</a>
84 </pre>
85 </td>
87 <td>
88 <p>Allocator type.</p>
89 </td>
91 <td>-</td>
92 </tr>
93 </table>
95 <h2><a name="link2" id="link2">Public Types and
96 Constants</a></h2>
98 <h3><a name="link3" id="link3">Policy Definitions</a></h3>
100 <table class="c1" width="100%" border="1" summary="Types">
101 <tr>
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>
107 </tr>
109 <tr>
110 <td>
111 <pre>
112 <a name="cmp_fn394495" id="cmp_fn394495">cmp_fn</a>
113 </pre>
114 </td>
116 <td>
117 <pre>
118 <a href="#Cmp_Fn294335"><tt>Cmp_Fn</tt></a>
119 </pre>
120 </td>
122 <td>
123 <p><a href="#Allocator35940069"><tt>Allocator</tt></a>
124 type.</p>
125 </td>
126 </tr>
128 <tr>
129 <td>
130 <pre>
131 <a name="allocator48440069" id="allocator48440069">allocator</a>
132 </pre>
133 </td>
135 <td>
136 <pre>
137 <a href="#Allocator35940069"><tt>Allocator</tt></a>
138 </pre>
139 </td>
141 <td>
142 <p><a href="#Allocator35940069"><tt>Allocator</tt></a>
143 type.</p>
144 </td>
145 </tr>
146 </table>
148 <h3><a name="link4" id="link4">General Definitions</a></h3>
150 <table class="c1" width="100%" border="1" summary="Types">
151 <tr>
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>
157 </tr>
159 <tr>
160 <td>
161 <pre>
162 <a name="size_type55424436" id="size_type55424436">size_type</a>
163 </pre>
164 </td>
166 <td>
167 <pre>
168 <b>typename</b> <a href=
169 "#allocator48440069"><tt>allocator</tt></a>::size_type
170 </pre>
171 </td>
173 <td>
174 <p>Size type.</p>
175 </td>
176 </tr>
177 </table>
179 <h3><a name="link5" id="link5">Key-type Definitions</a></h3>
181 <table class="c1" width="100%" border="1" summary="Types">
182 <tr>
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>
188 </tr>
190 <tr>
191 <td>
192 <pre>
193 <a name="key_type10393186" id="key_type10393186">key_type</a>
194 </pre>
195 </td>
197 <td>
198 <pre>
199 The instantiating container's key type.
200 </pre>
201 </td>
203 <td>
204 <p>Key type.</p>
205 </td>
206 </tr>
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>
216 <td>
217 <pre>
218 The instantiating container's const key reference type.
219 </pre>
220 </td>
222 <td>
223 <p>Const key reference.</p>
224 </td>
225 </tr>
226 </table>
228 <h3><a name="link6" id="link6">Metadata-Type
229 Definitions</a></h3>
231 <table class="c1" width="100%" border="1" summary="Types">
232 <tr>
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>
238 </tr>
240 <tr>
241 <td>
242 <pre>
243 <a name="metadata_type2849297114" id=
244 "metadata_type2849297114">metadata_type</a>
245 </pre>
246 </td>
248 <td>
249 <pre>
250 <a href="#size_type55424436"><tt>size_type</tt></a>
251 </pre>
252 </td>
254 <td>
255 <p>Metadata type.</p>
256 </td>
257 </tr>
258 </table>
260 <h3><a name="link7" id="link7">Iterator Definitions</a></h3>
262 <table class="c1" width="100%" border="1" summary="Types">
263 <tr>
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>
269 </tr>
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>
279 <td>
280 <pre>
281 <a href=
282 "#Const_Node_Iterator1933878761"><tt>Const_Node_Iterator</tt></a>
283 </pre>
284 </td>
286 <td>
287 <p>Const node iterator type.</p>
288 </td>
289 </tr>
291 <tr>
292 <td>
293 <pre>
294 <a name="node_iterator3431975247" id=
295 "node_iterator3431975247">node_iterator</a>
296 </pre>
297 </td>
299 <td>
300 <pre>
301 <a href="#Node_Iterator4206909839"><tt>Node_Iterator</tt></a>
302 </pre>
303 </td>
305 <td>
306 <p>Node iterator type.</p>
307 </td>
308 </tr>
310 <tr>
311 <td>
312 <pre>
313 <a name="const_iterator98626788" id=
314 "const_iterator98626788">const_iterator</a>
315 </pre>
316 </td>
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>
325 <td>
326 <p>Const iterator type.</p>
327 </td>
328 </tr>
330 <tr>
331 <td>
332 <pre>
333 <a name="iterator10418194" id="iterator10418194">iterator</a>
334 </pre>
335 </td>
337 <td>
338 <pre>
339 <b>typename</b> <a href=
340 "#node_iterator3431975247"><tt>node_iterator</tt></a>::value_type
341 </pre>
342 </td>
344 <td>
345 <p>Iterator type.</p>
346 </td>
347 </tr>
348 </table>
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">
355 <tr>
356 <td width="45%" align="left"><b>Method</b></td>
358 <td width="55%" align="left"><b>Description</b></td>
359 </tr>
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>
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>
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>
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>
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>
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>
426 <h2><a name="link10" id="link10">Protected Types and
427 Constants</a></h2>
429 <h3><a name="link11" id="link11">Value-type
430 Definitions</a></h3>
432 <table class="c1" width="100%" border="1" summary="Types">
433 <tr>
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>
439 </tr>
441 <tr>
442 <td>
443 <pre>
444 <a name="const_reference495461441" id=
445 "const_reference495461441">const_reference</a>
446 </pre>
447 </td>
449 <td>
450 <pre>
451 The instantiating container's const reference type.
452 </pre>
453 </td>
455 <td>
456 <p>Const reference to the container's value-type.</p>
457 </td>
458 </tr>
460 <tr>
461 <td>
462 <pre>
463 <a name="const_pointer878814947" id=
464 "const_pointer878814947">const_pointer</a>
465 </pre>
466 </td>
468 <td>
469 <pre>
470 The instantiating container's const pointer type.
471 </pre>
472 </td>
474 <td>
475 <p>Const pointer to the container's value-type.</p>
476 </td>
477 </tr>
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>
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>
496 <td>
497 <p>Const metadata reference.</p>
498 </td>
499 </tr>
501 <tr>
502 <td>
503 <pre>
504 <a name="metadata_reference583863863" id=
505 "metadata_reference583863863">metadata_reference</a>
506 </pre>
507 </td>
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>
518 <td>
519 <p>Metadata reference.</p>
520 </td>
521 </tr>
522 </table>
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">
529 <tr>
530 <td width="45%" align="left"><b>Method</b></td>
532 <td width="55%" align="left"><b>Description</b></td>
533 </tr>
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>
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>
557 <h3><a name="link14" id="link14">Constructors, destructor, and
558 related</a></h3>
560 <table class="c1" width="100%" border="1" summary="Methods">
561 <tr>
562 <td width="45%" align="left"><b>Method</b></td>
564 <td width="55%" align="left"><b>Description</b></td>
565 </tr>
567 <tr>
568 <td>
569 <pre>
570 <b>virtual</b>
571 ~tree_order_statistics_node_update
573 </pre>
574 </td>
576 <td>
577 <p>Destructor.</p>
578 </td>
579 </tr>
580 </table>
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">
587 <tr>
588 <td width="45%" align="left"><b>Method</b></td>
590 <td width="55%" align="left"><b>Description</b></td>
591 </tr>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>