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< 491 <a href= 492"#metadata_type2849297114"><tt>metadata_type</tt></a>>::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< 513 <a href= 514"#metadata_type2849297114"><tt>metadata_type</tt></a>>::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> & 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