<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://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.15"/> <meta name="viewport" content="width=device-width, initial-scale=1"/> <title>libstdc++: __gnu_parallel::_LoserTree< __stable, _Tp, _Compare > 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"> /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */ $(document).ready(initResizable); /* @license-end */</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.15 --> </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"> /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */ $(document).ready(function(){initNavTree('a09448.html','');}); /* @license-end */ </script> <div id="doc-content"> <div class="header"> <div class="summary"> <a href="#pub-methods">Public Member Functions</a> | <a href="#pro-attribs">Protected Attributes</a> | <a href="a09445.html">List of all members</a> </div> <div class="headertitle"> <div class="title">__gnu_parallel::_LoserTree< __stable, _Tp, _Compare > Class Template Reference</div> </div> </div><!--header--> <div class="contents"> <div class="dynheader"> Inheritance diagram for __gnu_parallel::_LoserTree< __stable, _Tp, _Compare >:</div> <div class="dyncontent"> <div class="center"><iframe scrolling="no" frameborder="0" src="a09447.svg" width="191" height="136"><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-methods"></a> Public Member Functions</h2></td></tr> <tr class="memitem:a632a7faa1e68da31da135882e4de733b"><td class="memItemLeft" align="right" valign="top"><a id="a632a7faa1e68da31da135882e4de733b"></a>  </td><td class="memItemRight" valign="bottom"><b>_LoserTree</b> (unsigned int __k, _Compare __comp)</td></tr> <tr class="separator:a632a7faa1e68da31da135882e4de733b"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a35d4c47719d2f41603ba9c650f3f1e5a"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a09448.html#a35d4c47719d2f41603ba9c650f3f1e5a">__delete_min_insert</a> (_Tp __key, bool __sup)</td></tr> <tr class="separator:a35d4c47719d2f41603ba9c650f3f1e5a"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ae03e177c456afb3093d6aed490de7b70"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="a09440.html#ae03e177c456afb3093d6aed490de7b70">__get_min_source</a> ()</td></tr> <tr class="separator:ae03e177c456afb3093d6aed490de7b70"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a312994067c3cf199a625242533d4d27f"><td class="memItemLeft" align="right" valign="top"><a id="a312994067c3cf199a625242533d4d27f"></a> void </td><td class="memItemRight" valign="bottom"><b>__init</b> ()</td></tr> <tr class="separator:a312994067c3cf199a625242533d4d27f"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a80419ac9ea0ee11114e1f28cf26a11ab"><td class="memItemLeft" align="right" valign="top"><a id="a80419ac9ea0ee11114e1f28cf26a11ab"></a> unsigned int </td><td class="memItemRight" valign="bottom"><b>__init_winner</b> (unsigned int __root)</td></tr> <tr class="separator:a80419ac9ea0ee11114e1f28cf26a11ab"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ae40e9ed966e6afbbdcfca290b3992130"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a09440.html#ae40e9ed966e6afbbdcfca290b3992130">__insert_start</a> (const _Tp &__key, int __source, bool __sup)</td></tr> <tr class="separator:ae40e9ed966e6afbbdcfca290b3992130"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-attribs"></a> Protected Attributes</h2></td></tr> <tr class="memitem:ad7f21779f27e16fc27a04ec4438c28b3"><td class="memItemLeft" align="right" valign="top"><a id="ad7f21779f27e16fc27a04ec4438c28b3"></a> unsigned int </td><td class="memItemRight" valign="bottom"><b>_M_ik</b></td></tr> <tr class="separator:ad7f21779f27e16fc27a04ec4438c28b3"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a75bba27325ffeb227186440dfc836fb9"><td class="memItemLeft" align="right" valign="top">unsigned int </td><td class="memItemRight" valign="bottom"><a class="el" href="a09440.html#a75bba27325ffeb227186440dfc836fb9">_M_log_k</a></td></tr> <tr class="separator:a75bba27325ffeb227186440dfc836fb9"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a6057ed904b22e44b9e63cece4bbb5d2f"><td class="memItemLeft" align="right" valign="top"><a id="a6057ed904b22e44b9e63cece4bbb5d2f"></a> unsigned int </td><td class="memItemRight" valign="bottom"><b>_M_offset</b></td></tr> <tr class="separator:a6057ed904b22e44b9e63cece4bbb5d2f"><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<bool __stable, typename _Tp, typename _Compare><br /> class __gnu_parallel::_LoserTree< __stable, _Tp, _Compare ></h3> <p>Stable _LoserTree variant. </p> <p>Provides the stable implementations of insert_start, __init_winner, __init and __delete_min_insert.</p> <p>Unstable variant is done using partial specialisation below. </p> <p class="definition">Definition at line <a class="el" href="a00905_source.html#l00169">169</a> of file <a class="el" href="a00905_source.html">losertree.h</a>.</p> </div><h2 class="groupheader">Member Function Documentation</h2> <a id="a35d4c47719d2f41603ba9c650f3f1e5a"></a> <h2 class="memtitle"><span class="permalink"><a href="#a35d4c47719d2f41603ba9c650f3f1e5a">◆ </a></span>__delete_min_insert()</h2> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<bool __stable, typename _Tp , typename _Compare > </div> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">void <a class="el" href="a09448.html">__gnu_parallel::_LoserTree</a>< __stable, _Tp, _Compare >::__delete_min_insert </td> <td>(</td> <td class="paramtype">_Tp </td> <td class="paramname"><em>__key</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">bool </td> <td class="paramname"><em>__sup</em> </td> </tr> <tr> <td></td> <td>)</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>Delete the smallest element and insert a new element from the previously smallest element's sequence. </p> <p>This implementation is stable. </p> <p class="definition">Definition at line <a class="el" href="a00905_source.html#l00222">222</a> of file <a class="el" href="a00905_source.html">losertree.h</a>.</p> </div> </div> <a id="ae03e177c456afb3093d6aed490de7b70"></a> <h2 class="memtitle"><span class="permalink"><a href="#ae03e177c456afb3093d6aed490de7b70">◆ </a></span>__get_min_source()</h2> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<typename _Tp , typename _Compare > </div> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">int <a class="el" href="a09440.html">__gnu_parallel::_LoserTreeBase</a>< _Tp, _Compare >::__get_min_source </td> <td>(</td> <td class="paramname"></td><td>)</td> <td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span> </td> </tr> </table> </div><div class="memdoc"> <dl class="section return"><dt>Returns</dt><dd>the index of the sequence with the smallest element. </dd></dl> <p class="definition">Definition at line <a class="el" href="a00905_source.html#l00155">155</a> of file <a class="el" href="a00905_source.html">losertree.h</a>.</p> <p class="reference">References <a class="el" href="a00905_source.html#l00075">__gnu_parallel::_LoserTreeBase< _Tp, _Compare >::_M_losers</a>, and <a class="el" href="a00905_source.html#l00064">__gnu_parallel::_LoserTreeBase< _Tp, _Compare >::_Loser::_M_source</a>.</p> </div> </div> <a id="ae40e9ed966e6afbbdcfca290b3992130"></a> <h2 class="memtitle"><span class="permalink"><a href="#ae40e9ed966e6afbbdcfca290b3992130">◆ </a></span>__insert_start()</h2> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<typename _Tp , typename _Compare > </div> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">void <a class="el" href="a09440.html">__gnu_parallel::_LoserTreeBase</a>< _Tp, _Compare >::__insert_start </td> <td>(</td> <td class="paramtype">const _Tp & </td> <td class="paramname"><em>__key</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>__source</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">bool </td> <td class="paramname"><em>__sup</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">inherited</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Initializes the sequence "_M_source" with the element "__key". </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">__key</td><td>the element to insert </td></tr> <tr><td class="paramname">__source</td><td>__index of the __source __sequence </td></tr> <tr><td class="paramname">__sup</td><td>flag that determines whether the value to insert is an explicit __supremum. </td></tr> </table> </dd> </dl> <p class="definition">Definition at line <a class="el" href="a00905_source.html#l00134">134</a> of file <a class="el" href="a00905_source.html">losertree.h</a>.</p> <p class="reference">References <a class="el" href="a00905_source.html#l00085">__gnu_parallel::_LoserTreeBase< _Tp, _Compare >::_M_first_insert</a>, <a class="el" href="a00905_source.html#l00066">__gnu_parallel::_LoserTreeBase< _Tp, _Compare >::_Loser::_M_key</a>, <a class="el" href="a00905_source.html#l00075">__gnu_parallel::_LoserTreeBase< _Tp, _Compare >::_M_losers</a>, <a class="el" href="a00905_source.html#l00064">__gnu_parallel::_LoserTreeBase< _Tp, _Compare >::_Loser::_M_source</a>, and <a class="el" href="a00905_source.html#l00062">__gnu_parallel::_LoserTreeBase< _Tp, _Compare >::_Loser::_M_sup</a>.</p> </div> </div> <h2 class="groupheader">Member Data Documentation</h2> <a id="a75bba27325ffeb227186440dfc836fb9"></a> <h2 class="memtitle"><span class="permalink"><a href="#a75bba27325ffeb227186440dfc836fb9">◆ </a></span>_M_log_k</h2> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<typename _Tp , typename _Compare > </div> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">unsigned int <a class="el" href="a09440.html">__gnu_parallel::_LoserTreeBase</a>< _Tp, _Compare >::_M_log_k</td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">inherited</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>log_2{_M_k} </p> <p class="definition">Definition at line <a class="el" href="a00905_source.html#l00072">72</a> of file <a class="el" href="a00905_source.html">losertree.h</a>.</p> <p class="reference">Referenced by <a class="el" href="a00905_source.html#l00094">__gnu_parallel::_LoserTreeBase< _Tp, _Compare >::_LoserTreeBase()</a>.</p> </div> </div> <hr/>The documentation for this class was generated from the following file:<ul> <li><a class="el" href="a00905_source.html">losertree.h</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="a01572.html">__gnu_parallel</a></li><li class="navelem"><a class="el" href="a09448.html">_LoserTree</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.15 </li> </ul> </div> </body> </html>