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>trie_order_statistics_node_update Interface
</title>
10 <meta http-equiv=
"Content-Type" content=
11 "text/html; charset=us-ascii" />
16 <h1><tt>trie_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/trie_policy.hpp"><tt>trie_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=
"E_Access_Traits686553840" id=
69 "E_Access_Traits686553840"><b>class
</b> E_Access_Traits
</a>
74 <p>Comparison functor.
</p>
83 <a name=
"Allocator35940069" id=
84 "Allocator35940069"><b>class
</b> Allocator
</a>
89 <p>Allocator type.
</p>
96 <h2><a name=
"link2" id=
"link2">Public Types and
99 <h3><a name=
"link3" id=
"link3">Policy Definitions
</a></h3>
101 <table class=
"c1" width=
"100%" border=
"1" summary=
"Types">
103 <td width=
"30%" align=
"left"><b>Type
</b></td>
105 <td width=
"55%" align=
"left"><b>Definition
</b></td>
107 <td width=
"15%" align=
"left"><b>Description
</b></td>
113 <a name=
"e_access_traits1948190928" id=
114 "e_access_traits1948190928">e_access_traits
</a>
120 <a href=
"#E_Access_Traits686553840"><tt>E_Access_Traits
</tt></a>
125 <p>Element access traits.
</p>
132 <a name=
"const_e_iterator2450008044" id=
133 "const_e_iterator2450008044">const_e_iterator
</a>
139 <b>typename
</b> <a href=
140 "#e_access_traits1948190928"><tt>e_access_traits
</tt></a>::const_iterator
145 <p>Const element iterator.
</p>
152 <a name=
"allocator48440069" id=
"allocator48440069">allocator
</a>
158 <a href=
"#Allocator35940069"><tt>Allocator
</tt></a>
163 <p><a href=
"#Allocator35940069"><tt>Allocator
</tt></a>
169 <h3><a name=
"link4" id=
"link4">General Definitions
</a></h3>
171 <table class=
"c1" width=
"100%" border=
"1" summary=
"Types">
173 <td width=
"30%" align=
"left"><b>Type
</b></td>
175 <td width=
"55%" align=
"left"><b>Definition
</b></td>
177 <td width=
"15%" align=
"left"><b>Description
</b></td>
183 <a name=
"size_type55424436" id=
"size_type55424436">size_type
</a>
189 <b>typename
</b> <a href=
190 "#allocator48440069"><tt>allocator
</tt></a>::size_type
200 <h3><a name=
"link5" id=
"link5">Key-Type Definitions
</a></h3>
202 <table class=
"c1" width=
"100%" border=
"1" summary=
"Types">
204 <td width=
"30%" align=
"left"><b>Type
</b></td>
206 <td width=
"55%" align=
"left"><b>Definition
</b></td>
208 <td width=
"15%" align=
"left"><b>Description
</b></td>
214 <a name=
"key_type10393186" id=
"key_type10393186">key_type
</a>
220 The instantiating container's key type.
232 <a name=
"const_key_reference3185471705" id=
233 "const_key_reference3185471705">const_key_reference
</a>
239 The instantiating container's const key reference type.
244 <p>Const key reference.
</p>
249 <h3><a name=
"link6" id=
"link6">Metadata-Type
252 <table class=
"c1" width=
"100%" border=
"1" summary=
"Types">
254 <td width=
"30%" align=
"left"><b>Type
</b></td>
256 <td width=
"55%" align=
"left"><b>Definition
</b></td>
258 <td width=
"15%" align=
"left"><b>Description
</b></td>
264 <a name=
"metadata_type2849297114" id=
265 "metadata_type2849297114">metadata_type
</a>
271 <a href=
"#size_type55424436"><tt>size_type
</tt></a>
276 <p>Metadata type.
</p>
281 <h3><a name=
"link7" id=
"link7">Iterator Definitions
</a></h3>
283 <table class=
"c1" width=
"100%" border=
"1" summary=
"Types">
285 <td width=
"30%" align=
"left"><b>Type
</b></td>
287 <td width=
"55%" align=
"left"><b>Definition
</b></td>
289 <td width=
"15%" align=
"left"><b>Description
</b></td>
295 <a name=
"const_node_iterator4205924553" id=
296 "const_node_iterator4205924553">const_node_iterator
</a>
303 "#Const_Node_Iterator1933878761"><tt>Const_Node_Iterator
</tt></a>
308 <p>Const node iterator type.
</p>
315 <a name=
"node_iterator3431975247" id=
316 "node_iterator3431975247">node_iterator
</a>
322 <a href=
"#Node_Iterator4206909839"><tt>Node_Iterator
</tt></a>
327 <p>Node iterator type.
</p>
334 <a name=
"const_iterator98626788" id=
335 "const_iterator98626788">const_iterator
</a>
341 <b>typename
</b> <a href=
342 "#const_node_iterator4205924553"><tt>const_node_iterator
</tt></a>::value_type
347 <p>Const iterator type.
</p>
354 <a name=
"iterator10418194" id=
"iterator10418194">iterator
</a>
360 <b>typename
</b> <a href=
361 "#node_iterator3431975247"><tt>node_iterator
</tt></a>::value_type
366 <p>Iterator type.
</p>
371 <h2><a name=
"link8" id=
"link8">Public Methods
</a></h2>
373 <h3><a name=
"link9" id=
"link9">Find-Type Methods
</a></h3>
375 <table class=
"c1" width=
"100%" border=
"1" summary=
"Methods">
377 <td width=
"45%" align=
"left"><b>Method
</b></td>
379 <td width=
"55%" align=
"left"><b>Description
</b></td>
385 <b>inline
</b> <a href=
386 "#const_iterator98626788"><tt>const_iterator
</tt></a>
389 "#size_type55424436"><tt>size_type
</tt></a> order)
<b>const
</b>
394 <p>Finds an entry by order. Returns a
<a href=
395 "#const_iterator98626788"><tt>const_iterator
</tt></a> to
396 the entry with the order
<span class=
397 "c1"><tt>order
</tt></span>, or a
<a href=
398 "#const_iterator98626788"><tt>const_iterator
</tt></a> to
399 the container object's end if
<span class=
400 "c1"><tt>order
</tt></span> is at least the size of the
401 container object.
</p>
408 <b>inline
</b> <a href=
"#iterator10418194"><tt>iterator
</tt></a>
410 (
<a href=
"#size_type55424436"><tt>size_type
</tt></a> order)
415 <p>Finds an entry by order. Returns an
<a href=
416 "#iterator10418194"><tt>iterator
</tt></a> to the entry
417 with the order
<span class=
"c1"><tt>order
</tt></span>, or
418 an
<a href=
"#iterator10418194"><tt>iterator
</tt></a> to
419 the container object's end if
<span class=
420 "c1"><tt>order
</tt></span> is at least the size of the
421 container object.
</p>
428 <b>inline
</b> <a href=
"#size_type55424436"><tt>size_type
</tt></a>
431 "#const_key_reference3185471705"><tt>const_key_reference
</tt></a> r_key)
<b>const
</b>
436 <p>Returns the order of a key within a sequence. For
437 example, if
<span class=
"c1"><tt>r_key
</tt></span> is the
438 smallest key, this method will return
0; if
<span class=
439 "c1"><tt>r_key
</tt></span> is a key between the smallest
440 and next key, this method will return
1; if
<span class=
441 "c1"><tt>r_key
</tt></span> is a key larger than the
442 largest key, this method will return the size of r_c.
</p>
449 <b>inline
</b> <a href=
"#size_type55424436"><tt>size_type
</tt></a>
452 "#const_e_iterator2450008044"><tt>const_e_iterator
</tt></a> b,
454 "#const_e_iterator2450008044"><tt>const_e_iterator
</tt></a> e)
<b>const
</b>
459 <p>Returns the order of a prefix within a sequence. For
460 <span class=
"c1"><tt>e
</tt></span>example, if [b,
461 <span class=
"c1"><tt>e
</tt></span>] is the smallest
462 prefix, this method will return
0; if r_key is a key
463 <span class=
"c1"><tt>b
</tt></span>between the smallest and
464 next key, this method will return
1; if r_key is a key
465 larger than the largest key, this method will return the
471 <h2><a name=
"link10" id=
"link10">Protected Types and
474 <h3><a name=
"link11" id=
"link11">Value-Type
477 <table class=
"c1" width=
"100%" border=
"1" summary=
"Types">
479 <td width=
"30%" align=
"left"><b>Type
</b></td>
481 <td width=
"55%" align=
"left"><b>Definition
</b></td>
483 <td width=
"15%" align=
"left"><b>Description
</b></td>
489 <a name=
"const_reference495461441" id=
490 "const_reference495461441">const_reference
</a>
496 The instantiating container's const reference type.
501 <p>Const reference to the container's value-type.
</p>
508 <a name=
"const_pointer878814947" id=
509 "const_pointer878814947">const_pointer
</a>
515 The instantiating container's const pointer type.
520 <p>Const pointer to the container's value-type.
</p>
527 <a name=
"const_metadata_reference1108857465" id=
528 "const_metadata_reference1108857465">const_metadata_reference
</a>
534 <b>typename
</b> <a href=
535 "#Allocator35940069"><tt>Allocator
</tt></a>::
<b>template
</b> rebind
<
537 "#metadata_type2849297114"><tt>metadata_type
</tt></a>>::other::
<a href=
"#const_reference495461441"><tt>const_reference
</tt></a>
542 <p>Const metadata reference.
</p>
549 <a name=
"metadata_reference583863863" id=
550 "metadata_reference583863863">metadata_reference
</a>
556 <b>typename
</b> <a href=
557 "#Allocator35940069"><tt>Allocator
</tt></a>::
<b>template
</b> rebind
<
559 "#metadata_type2849297114"><tt>metadata_type
</tt></a>>::other::reference
564 <p>Metadata reference.
</p>
569 <h2><a name=
"link12" id=
"link12">Protected Methods
</a></h2>
571 <h3><a name=
"link13" id=
"link13">Operators
</a></h3>
573 <table class=
"c1" width=
"100%" border=
"1" summary=
"Methods">
575 <td width=
"45%" align=
"left"><b>Method
</b></td>
577 <td width=
"55%" align=
"left"><b>Description
</b></td>
583 <b>inline
</b> <b>void
</b>
586 "#node_iterator3431975247"><tt>node_iterator
</tt></a> node_it,
588 "#const_node_iterator4205924553"><tt>const_node_iterator
</tt></a> end_nd_it)
<b>const
</b>
593 <p>Updates the rank of a node through a
<a href=
594 "#node_iterator3431975247"><tt>node_iterator
</tt></a>
595 <span class=
"c1"><tt>node_it
</tt></span>;
<span class=
596 "c1"><tt>end_nd_it
</tt></span> is the end node
<a href=
597 "#iterator10418194"><tt>iterator
</tt></a>.
</p>
602 <h3><a name=
"link14" id=
"link14">Constructors, destructor, and
605 <table class=
"c1" width=
"100%" border=
"1" summary=
"Methods">
607 <td width=
"45%" align=
"left"><b>Method
</b></td>
609 <td width=
"55%" align=
"left"><b>Description
</b></td>
616 ~trie_order_statistics_node_update
627 <h2><a name=
"link15" id=
"link15">Private Methods
</a></h2>
629 <h3><a name=
"link16" id=
"link16">Overrides
</a></h3>
631 <table class=
"c1" width=
"100%" border=
"1" summary=
"Methods">
633 <td width=
"45%" align=
"left"><b>Method
</b></td>
635 <td width=
"55%" align=
"left"><b>Description
</b></td>
641 <b>virtual
</b> <b>bool
</b>
648 <p>Returns
<tt><b>true
</b></tt> if the container is
656 <b>virtual
</b> <a href=
"#iterator10418194"><tt>iterator
</tt></a>
663 <p>Returns the
<a href=
664 "#iterator10418194"><tt>iterator
</tt></a> associated with
665 the trie's first element.
</p>
672 <b>virtual
</b> <a href=
"#iterator10418194"><tt>iterator
</tt></a>
679 <p>Returns the
<a href=
680 "#iterator10418194"><tt>iterator
</tt></a> associated with
681 the trie's just-after-last element.
</p>
688 <b>virtual
</b> <a href=
689 "#const_node_iterator4205924553"><tt>const_node_iterator
</tt></a>
696 <p>Returns the
<a href=
697 "#const_node_iterator4205924553"><tt>const_node_iterator
</tt></a>
698 associated with the trie's root node.
</p>
705 <b>virtual
</b> <a href=
706 "#node_iterator3431975247"><tt>node_iterator
</tt></a>
713 <p>Returns the
<a href=
714 "#node_iterator3431975247"><tt>node_iterator
</tt></a>
715 associated with the trie's root node.
</p>
722 <b>virtual
</b> <a href=
723 "#const_node_iterator4205924553"><tt>const_node_iterator
</tt></a>
730 <p>Returns the
<a href=
731 "#const_node_iterator4205924553"><tt>const_node_iterator
</tt></a>
732 associated with a just-after leaf node.
</p>
739 <b>virtual
</b> <a href=
740 "#node_iterator3431975247"><tt>node_iterator
</tt></a>
747 <p>Returns the
<a href=
748 "#node_iterator3431975247"><tt>node_iterator
</tt></a>
749 associated with a just-after leaf node.
</p>
756 <b>virtual
</b> <a href=
757 "#e_access_traits1948190928"><tt>e_access_traits
</tt></a> &
764 <p>Access to the cmp_fn object.
</p>