<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> <meta http-equiv="X-UA-Compatible" content="IE=9"/> <meta name="generator" content="Doxygen 1.8.13"/> <meta name="viewport" content="width=device-width, initial-scale=1"/> <title>libstdc++: __gnu_pbds::tree_order_statistics_node_update< Node_CItr, Node_Itr, Cmp_Fn, _Alloc > Class Template Reference</title> <link href="tabs.css" rel="stylesheet" type="text/css"/> <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript" src="dynsections.js"></script> <link href="navtree.css" rel="stylesheet" type="text/css"/> <script type="text/javascript" src="resize.js"></script> <script type="text/javascript" src="navtreedata.js"></script> <script type="text/javascript" src="navtree.js"></script> <script type="text/javascript"> $(document).ready(initResizable); </script> <link href="doxygen.css" rel="stylesheet" type="text/css" /> </head> <body> <div id="top"><!-- do not remove this div, it is closed by doxygen! --> <div id="titlearea"> <table cellspacing="0" cellpadding="0"> <tbody> <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">libstdc++ </div> </td> </tr> </tbody> </table> </div> <!-- end header part --> <!-- Generated by Doxygen 1.8.13 --> </div><!-- top --> <div id="side-nav" class="ui-resizable side-nav-resizable"> <div id="nav-tree"> <div id="nav-tree-contents"> <div id="nav-sync" class="sync"></div> </div> </div> <div id="splitbar" style="-moz-user-select:none;" class="ui-resizable-handle"> </div> </div> <script type="text/javascript"> $(document).ready(function(){initNavTree('a10021.html','');}); </script> <div id="doc-content"> <div class="header"> <div class="summary"> <a href="#pub-types">Public Types</a> | <a href="#pub-methods">Public Member Functions</a> | <a href="#pro-methods">Protected Member Functions</a> | <a href="#pri-types">Private Types</a> | <a href="#pri-methods">Private Member Functions</a> | <a href="#pri-static-methods">Static Private Member Functions</a> | <a href="a10018.html">List of all members</a> </div> <div class="headertitle"> <div class="title">__gnu_pbds::tree_order_statistics_node_update< Node_CItr, Node_Itr, Cmp_Fn, _Alloc > Class Template Reference<span class="mlabels"><span class="mlabel">abstract</span></span></div> </div> </div><!--header--> <div class="contents"> <div class="dynheader"> Inheritance diagram for __gnu_pbds::tree_order_statistics_node_update< Node_CItr, Node_Itr, Cmp_Fn, _Alloc >:</div> <div class="dyncontent"> <div class="center"><iframe scrolling="no" frameborder="0" src="a10020.svg" width="184" height="176"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe> </div> <center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div> <table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a> Public Types</h2></td></tr> <tr class="memitem:a66cad1e5945ff268a36fc26d78f7beee"><td class="memItemLeft" align="right" valign="top"><a id="a66cad1e5945ff268a36fc26d78f7beee"></a> typedef _Alloc </td><td class="memItemRight" valign="bottom"><b>allocator_type</b></td></tr> <tr class="separator:a66cad1e5945ff268a36fc26d78f7beee"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ab8472295c1897c763e189ce512505422"><td class="memItemLeft" align="right" valign="top"><a id="ab8472295c1897c763e189ce512505422"></a> typedef Cmp_Fn </td><td class="memItemRight" valign="bottom"><b>cmp_fn</b></td></tr> <tr class="separator:ab8472295c1897c763e189ce512505422"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a4aad8fc6c3c2b52e865b9f768aa2680d"><td class="memItemLeft" align="right" valign="top"><a id="a4aad8fc6c3c2b52e865b9f768aa2680d"></a> typedef node_const_iterator::value_type </td><td class="memItemRight" valign="bottom"><b>const_iterator</b></td></tr> <tr class="separator:a4aad8fc6c3c2b52e865b9f768aa2680d"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a82303be5450084acffbde92257edbb38"><td class="memItemLeft" align="right" valign="top"><a id="a82303be5450084acffbde92257edbb38"></a> typedef node_iterator::value_type </td><td class="memItemRight" valign="bottom"><b>iterator</b></td></tr> <tr class="separator:a82303be5450084acffbde92257edbb38"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ab57c15785e42ef092f64b88cfe90fb9e"><td class="memItemLeft" align="right" valign="top"><a id="ab57c15785e42ef092f64b88cfe90fb9e"></a> typedef base_type::key_const_reference </td><td class="memItemRight" valign="bottom"><b>key_const_reference</b></td></tr> <tr class="separator:ab57c15785e42ef092f64b88cfe90fb9e"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a29828136acfb9911dc1e77d26edae231"><td class="memItemLeft" align="right" valign="top"><a id="a29828136acfb9911dc1e77d26edae231"></a> typedef base_type::key_type </td><td class="memItemRight" valign="bottom"><b>key_type</b></td></tr> <tr class="separator:a29828136acfb9911dc1e77d26edae231"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:af1ced32d4855f1661322638e3d9dc371"><td class="memItemLeft" align="right" valign="top"><a id="af1ced32d4855f1661322638e3d9dc371"></a> typedef size_type </td><td class="memItemRight" valign="bottom"><b>metadata_type</b></td></tr> <tr class="separator:af1ced32d4855f1661322638e3d9dc371"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a263d40cdd28fed8a09a7b632eee3a37f"><td class="memItemLeft" align="right" valign="top"><a id="a263d40cdd28fed8a09a7b632eee3a37f"></a> typedef Node_CItr </td><td class="memItemRight" valign="bottom"><b>node_const_iterator</b></td></tr> <tr class="separator:a263d40cdd28fed8a09a7b632eee3a37f"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a7d6b9371fe0c11b6e027ef5ca9ff1c79"><td class="memItemLeft" align="right" valign="top"><a id="a7d6b9371fe0c11b6e027ef5ca9ff1c79"></a> typedef Node_Itr </td><td class="memItemRight" valign="bottom"><b>node_iterator</b></td></tr> <tr class="separator:a7d6b9371fe0c11b6e027ef5ca9ff1c79"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a192d1ade9a222364bee6a474cac3e44d"><td class="memItemLeft" align="right" valign="top"><a id="a192d1ade9a222364bee6a474cac3e44d"></a> typedef allocator_type::size_type </td><td class="memItemRight" valign="bottom"><b>size_type</b></td></tr> <tr class="separator:a192d1ade9a222364bee6a474cac3e44d"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a> Public Member Functions</h2></td></tr> <tr class="memitem:a514976f742b56de21e6672e674ab62f5"><td class="memItemLeft" align="right" valign="top">const_iterator </td><td class="memItemRight" valign="bottom"><a class="el" href="a10021.html#a514976f742b56de21e6672e674ab62f5">find_by_order</a> (size_type) const</td></tr> <tr class="separator:a514976f742b56de21e6672e674ab62f5"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ac8200dc2f6a2b071509c9a817bc48248"><td class="memItemLeft" align="right" valign="top">iterator </td><td class="memItemRight" valign="bottom"><a class="el" href="a10021.html#ac8200dc2f6a2b071509c9a817bc48248">find_by_order</a> (size_type)</td></tr> <tr class="separator:ac8200dc2f6a2b071509c9a817bc48248"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a1c33a80afedc268c76b5ad8468fb84ee"><td class="memItemLeft" align="right" valign="top">size_type </td><td class="memItemRight" valign="bottom"><a class="el" href="a10021.html#a1c33a80afedc268c76b5ad8468fb84ee">order_of_key</a> (key_const_reference) const</td></tr> <tr class="separator:a1c33a80afedc268c76b5ad8468fb84ee"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a> Protected Member Functions</h2></td></tr> <tr class="memitem:a9f14ab1bc7aee93a77e4c73c37d1b9f5"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a10021.html#a9f14ab1bc7aee93a77e4c73c37d1b9f5">operator()</a> (node_iterator, node_const_iterator) const</td></tr> <tr class="separator:a9f14ab1bc7aee93a77e4c73c37d1b9f5"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-types"></a> Private Types</h2></td></tr> <tr class="memitem:a90eed5e0bf7af8f3cba24652e60d5228"><td class="memItemLeft" align="right" valign="top"><a id="a90eed5e0bf7af8f3cba24652e60d5228"></a> typedef Node_Itr::value_type </td><td class="memItemRight" valign="bottom"><b>it_type</b></td></tr> <tr class="separator:a90eed5e0bf7af8f3cba24652e60d5228"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aabab32b136587e77398d55fde8ad735a"><td class="memItemLeft" align="right" valign="top"><a id="aabab32b136587e77398d55fde8ad735a"></a> typedef remove_const< key_type >::type </td><td class="memItemRight" valign="bottom"><b>rckey_type</b></td></tr> <tr class="separator:aabab32b136587e77398d55fde8ad735a"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ab17e56ff301d956f03798f6bd0382f7c"><td class="memItemLeft" align="right" valign="top"><a id="ab17e56ff301d956f03798f6bd0382f7c"></a> typedef remove_const< value_type >::type </td><td class="memItemRight" valign="bottom"><b>rcvalue_type</b></td></tr> <tr class="separator:ab17e56ff301d956f03798f6bd0382f7c"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a8d21806aee5a0cc94998adafa2478bef"><td class="memItemLeft" align="right" valign="top"><a id="a8d21806aee5a0cc94998adafa2478bef"></a> typedef _Alloc::template rebind< rckey_type >::other </td><td class="memItemRight" valign="bottom"><b>rebind_k</b></td></tr> <tr class="separator:a8d21806aee5a0cc94998adafa2478bef"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a526d03b1a2bf90f20d02d2f87d4ca35d"><td class="memItemLeft" align="right" valign="top"><a id="a526d03b1a2bf90f20d02d2f87d4ca35d"></a> typedef _Alloc::template rebind< rcvalue_type >::other </td><td class="memItemRight" valign="bottom"><b>rebind_v</b></td></tr> <tr class="separator:a526d03b1a2bf90f20d02d2f87d4ca35d"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a4de077258c55feca6595cfedf463ccc1"><td class="memItemLeft" align="right" valign="top"><a id="a4de077258c55feca6595cfedf463ccc1"></a> typedef rebind_v::reference </td><td class="memItemRight" valign="bottom"><b>reference</b></td></tr> <tr class="separator:a4de077258c55feca6595cfedf463ccc1"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a6c3df687f5e2c4a8b926a81d7a7b4470"><td class="memItemLeft" align="right" valign="top"><a id="a6c3df687f5e2c4a8b926a81d7a7b4470"></a> typedef std::iterator_traits< it_type >::value_type </td><td class="memItemRight" valign="bottom"><b>value_type</b></td></tr> <tr class="separator:a6c3df687f5e2c4a8b926a81d7a7b4470"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-methods"></a> Private Member Functions</h2></td></tr> <tr class="memitem:aaeed3de36605cfe52f1cb1669ab34c7a"><td class="memItemLeft" align="right" valign="top"><a id="aaeed3de36605cfe52f1cb1669ab34c7a"></a> virtual it_type </td><td class="memItemRight" valign="bottom"><b>end</b> ()=0</td></tr> <tr class="separator:aaeed3de36605cfe52f1cb1669ab34c7a"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a30f8955efaad86ebc0b2c1d8f28b27d3"><td class="memItemLeft" align="right" valign="top"><a id="a30f8955efaad86ebc0b2c1d8f28b27d3"></a> it_type </td><td class="memItemRight" valign="bottom"><b>end_iterator</b> () const</td></tr> <tr class="separator:a30f8955efaad86ebc0b2c1d8f28b27d3"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-static-methods"></a> Static Private Member Functions</h2></td></tr> <tr class="memitem:a6669725c8d1489a0103df1b35aa12a3a"><td class="memItemLeft" align="right" valign="top"><a id="a6669725c8d1489a0103df1b35aa12a3a"></a> static key_const_reference </td><td class="memItemRight" valign="bottom"><b>extract_key</b> (const_reference r_val)</td></tr> <tr class="separator:a6669725c8d1489a0103df1b35aa12a3a"><td class="memSeparator" colspan="2"> </td></tr> </table> <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> <div class="textblock"><h3>template<typename Node_CItr, typename Node_Itr, typename Cmp_Fn, typename _Alloc><br /> class __gnu_pbds::tree_order_statistics_node_update< Node_CItr, Node_Itr, Cmp_Fn, _Alloc ></h3> <p>Functor updating ranks of entrees. </p> <p class="definition">Definition at line <a class="el" href="a01076_source.html#l00064">64</a> of file <a class="el" href="a01076_source.html">tree_policy.hpp</a>.</p> </div><h2 class="groupheader">Member Function Documentation</h2> <a id="a514976f742b56de21e6672e674ab62f5"></a> <h2 class="memtitle"><span class="permalink"><a href="#a514976f742b56de21e6672e674ab62f5">◆ </a></span>find_by_order() <span class="overload">[1/2]</span></h2> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<typename Node_CItr , typename Node_Itr , typename Cmp_Fn , typename _Alloc > </div> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname"><a class="el" href="a10021.html">tree_order_statistics_node_update</a>< Node_CItr, Node_Itr, Cmp_Fn, _Alloc >::const_iterator <a class="el" href="a10021.html">__gnu_pbds::tree_order_statistics_node_update</a>< Node_CItr, Node_Itr, Cmp_Fn, _Alloc >::find_by_order </td> <td>(</td> <td class="paramtype">size_type </td> <td class="paramname"><em>order</em></td><td>)</td> <td> const</td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">inline</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Finds an entry by __order. Returns a const_iterator to the entry with the __order order, or a const_iterator to the container object's end if order is at least the size of the container object. </p> <p class="definition">Definition at line <a class="el" href="a01076_source.html#l00072">72</a> of file <a class="el" href="a01076_source.html">tree_policy.hpp</a>.</p> </div> </div> <a id="ac8200dc2f6a2b071509c9a817bc48248"></a> <h2 class="memtitle"><span class="permalink"><a href="#ac8200dc2f6a2b071509c9a817bc48248">◆ </a></span>find_by_order() <span class="overload">[2/2]</span></h2> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<typename Node_CItr , typename Node_Itr , typename Cmp_Fn , typename _Alloc > </div> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname"><a class="el" href="a10021.html">tree_order_statistics_node_update</a>< Node_CItr, Node_Itr, Cmp_Fn, _Alloc >::iterator <a class="el" href="a10021.html">__gnu_pbds::tree_order_statistics_node_update</a>< Node_CItr, Node_Itr, Cmp_Fn, _Alloc >::find_by_order </td> <td>(</td> <td class="paramtype">size_type </td> <td class="paramname"><em>order</em></td><td>)</td> <td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">inline</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Finds an entry by __order. Returns an iterator to the entry with the __order order, or an iterator to the container object's end if order is at least the size of the container object. </p> <p class="definition">Definition at line <a class="el" href="a01076_source.html#l00045">45</a> of file <a class="el" href="a01076_source.html">tree_policy.hpp</a>.</p> </div> </div> <a id="a9f14ab1bc7aee93a77e4c73c37d1b9f5"></a> <h2 class="memtitle"><span class="permalink"><a href="#a9f14ab1bc7aee93a77e4c73c37d1b9f5">◆ </a></span>operator()()</h2> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<typename Node_CItr , typename Node_Itr , typename Cmp_Fn , typename _Alloc > </div> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">void <a class="el" href="a10021.html">__gnu_pbds::tree_order_statistics_node_update</a>< Node_CItr, Node_Itr, Cmp_Fn, _Alloc >::operator() </td> <td>(</td> <td class="paramtype">node_iterator </td> <td class="paramname"><em>node_it</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">node_const_iterator </td> <td class="paramname"><em>end_nd_it</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td> const</td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Updates the rank of a node through a node_iterator node_it; end_nd_it is the end node iterator. </p> <p class="definition">Definition at line <a class="el" href="a01076_source.html#l00108">108</a> of file <a class="el" href="a01076_source.html">tree_policy.hpp</a>.</p> </div> </div> <a id="a1c33a80afedc268c76b5ad8468fb84ee"></a> <h2 class="memtitle"><span class="permalink"><a href="#a1c33a80afedc268c76b5ad8468fb84ee">◆ </a></span>order_of_key()</h2> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<typename Node_CItr , typename Node_Itr , typename Cmp_Fn , typename _Alloc > </div> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname"><a class="el" href="a10021.html">tree_order_statistics_node_update</a>< Node_CItr, Node_Itr, Cmp_Fn, _Alloc >::size_type <a class="el" href="a10021.html">__gnu_pbds::tree_order_statistics_node_update</a>< Node_CItr, Node_Itr, Cmp_Fn, _Alloc >::order_of_key </td> <td>(</td> <td class="paramtype">key_const_reference </td> <td class="paramname"><em>r_key</em></td><td>)</td> <td> const</td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">inline</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Returns the order of a key within a sequence. For exapmle, if r_key is the smallest key, this method will return 0; if r_key is a key between the smallest and next key, this method will return 1; if r_key is a key larger than the largest key, this method will return the size of r_c. </p> <p class="definition">Definition at line <a class="el" href="a01076_source.html#l00078">78</a> of file <a class="el" href="a01076_source.html">tree_policy.hpp</a>.</p> </div> </div> <hr/>The documentation for this class was generated from the following file:<ul> <li><a class="el" href="a01076_source.html">tree_policy.hpp</a></li> </ul> </div><!-- contents --> </div><!-- doc-content --> <!-- start footer part --> <div id="nav-path" class="navpath"><!-- id is needed for treeview function! --> <ul> <li class="navelem"><a class="el" href="a01535.html">__gnu_pbds</a></li><li class="navelem"><a class="el" href="a10021.html">tree_order_statistics_node_update</a></li> <li class="footer">Generated by <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li> </ul> </div> </body> </html>