<!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::priority_queue< _Tv, Cmp_Fn, Tag, _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('a09849.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="a09846.html">List of all members</a> </div> <div class="headertitle"> <div class="title">__gnu_pbds::priority_queue< _Tv, Cmp_Fn, Tag, _Alloc > Class Template Reference<div class="ingroups"><a class="el" href="a01410.html">Extensions</a> » <a class="el" href="a01475.html">Policy-Based Data Structures</a> » <a class="el" href="a01466.html">Containers</a> » <a class="el" href="a01473.html">Heap-Based</a></div></div> </div> </div><!--header--> <div class="contents"> <p>Inherits type< _Tv, Cmp_Fn, _Alloc, Tag >.</p> <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:gac9c89575468e639df2697aae589dfb0e"><td class="memItemLeft" align="right" valign="top"> typedef _Alloc </td><td class="memItemRight" valign="bottom"><b>allocator_type</b></td></tr> <tr class="separator:gac9c89575468e639df2697aae589dfb0e"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga304975fa40b9b7448b4762d720832c46"><td class="memItemLeft" align="right" valign="top"> typedef Cmp_Fn </td><td class="memItemRight" valign="bottom"><b>cmp_fn</b></td></tr> <tr class="separator:ga304975fa40b9b7448b4762d720832c46"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga92f3572681756c5f9298a748f09775cd"><td class="memItemLeft" align="right" valign="top"> typedef base_type::const_iterator </td><td class="memItemRight" valign="bottom"><b>const_iterator</b></td></tr> <tr class="separator:ga92f3572681756c5f9298a748f09775cd"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga5dd06f5e1564a87cddf962cf06089ef5"><td class="memItemLeft" align="right" valign="top"> typedef __rebind_va::const_pointer </td><td class="memItemRight" valign="bottom"><b>const_pointer</b></td></tr> <tr class="separator:ga5dd06f5e1564a87cddf962cf06089ef5"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga966051b061a35415b4db0e5559ddb5e3"><td class="memItemLeft" align="right" valign="top"> typedef __rebind_va::const_reference </td><td class="memItemRight" valign="bottom"><b>const_reference</b></td></tr> <tr class="separator:ga966051b061a35415b4db0e5559ddb5e3"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga42dabb276b4f6048af380a775faf157e"><td class="memItemLeft" align="right" valign="top"> typedef Tag </td><td class="memItemRight" valign="bottom"><b>container_category</b></td></tr> <tr class="separator:ga42dabb276b4f6048af380a775faf157e"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga94bbdf0021e115d17411582b7f973ee5"><td class="memItemLeft" align="right" valign="top"> typedef allocator_type::difference_type </td><td class="memItemRight" valign="bottom"><b>difference_type</b></td></tr> <tr class="separator:ga94bbdf0021e115d17411582b7f973ee5"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga0df067f0a544d1fc3fd3fbadda94f1e9"><td class="memItemLeft" align="right" valign="top"> typedef base_type::iterator </td><td class="memItemRight" valign="bottom"><b>iterator</b></td></tr> <tr class="separator:ga0df067f0a544d1fc3fd3fbadda94f1e9"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga6125fd5a518b48ab8f7f770e1e22436a"><td class="memItemLeft" align="right" valign="top"> typedef base_type::point_const_iterator </td><td class="memItemRight" valign="bottom"><b>point_const_iterator</b></td></tr> <tr class="separator:ga6125fd5a518b48ab8f7f770e1e22436a"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gadf16ab3be6832883eaa47729e4f0dfdd"><td class="memItemLeft" align="right" valign="top"> typedef base_type::point_iterator </td><td class="memItemRight" valign="bottom"><b>point_iterator</b></td></tr> <tr class="separator:gadf16ab3be6832883eaa47729e4f0dfdd"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga8852b6160821a88227be8ba430580312"><td class="memItemLeft" align="right" valign="top"> typedef __rebind_va::pointer </td><td class="memItemRight" valign="bottom"><b>pointer</b></td></tr> <tr class="separator:ga8852b6160821a88227be8ba430580312"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gac3dcdf43512d32f125e8062c8d7db069"><td class="memItemLeft" align="right" valign="top"> typedef __rebind_va::reference </td><td class="memItemRight" valign="bottom"><b>reference</b></td></tr> <tr class="separator:gac3dcdf43512d32f125e8062c8d7db069"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga38a5ca18e23a5576603bd787a51df734"><td class="memItemLeft" align="right" valign="top"> typedef allocator_type::size_type </td><td class="memItemRight" valign="bottom"><b>size_type</b></td></tr> <tr class="separator:ga38a5ca18e23a5576603bd787a51df734"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga2e039a9e0523d941daeb0cf62bfaece8"><td class="memItemLeft" align="right" valign="top"> typedef _Tv </td><td class="memItemRight" valign="bottom"><b>value_type</b></td></tr> <tr class="separator:ga2e039a9e0523d941daeb0cf62bfaece8"><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:gaa6332f0e852dc89f0879cb5408d168c0"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="a01473.html#gaa6332f0e852dc89f0879cb5408d168c0">priority_queue</a> (const cmp_fn &r_cmp_fn)</td></tr> <tr class="separator:gaa6332f0e852dc89f0879cb5408d168c0"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga2b637d89cbd874881a4da920d57b0487"><td class="memTemplParams" colspan="2">template<typename It > </td></tr> <tr class="memitem:ga2b637d89cbd874881a4da920d57b0487"><td class="memTemplItemLeft" align="right" valign="top"> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a01473.html#ga2b637d89cbd874881a4da920d57b0487">priority_queue</a> (It first_it, It last_it)</td></tr> <tr class="separator:ga2b637d89cbd874881a4da920d57b0487"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gad0141192206747833a170be548fd51e0"><td class="memTemplParams" colspan="2">template<typename It > </td></tr> <tr class="memitem:gad0141192206747833a170be548fd51e0"><td class="memTemplItemLeft" align="right" valign="top"> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a01473.html#gad0141192206747833a170be548fd51e0">priority_queue</a> (It first_it, It last_it, const cmp_fn &r_cmp_fn)</td></tr> <tr class="separator:gad0141192206747833a170be548fd51e0"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga899c272fba59f61ba76caa6e84d35bb4"><td class="memItemLeft" align="right" valign="top">  </td><td class="memItemRight" valign="bottom"><b>priority_queue</b> (const <a class="el" href="a09849.html">priority_queue</a> &other)</td></tr> <tr class="separator:ga899c272fba59f61ba76caa6e84d35bb4"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gaee432339aba7e2e111ba65ada35a3dc3"><td class="memItemLeft" align="right" valign="top"> <a class="el" href="a09849.html">priority_queue</a> & </td><td class="memItemRight" valign="bottom"><b>operator=</b> (const <a class="el" href="a09849.html">priority_queue</a> &other)</td></tr> <tr class="separator:gaee432339aba7e2e111ba65ada35a3dc3"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gae5076ffb65c8817075b6cf375cc8c5ca"><td class="memItemLeft" align="right" valign="top"> void </td><td class="memItemRight" valign="bottom"><b>swap</b> (<a class="el" href="a09849.html">priority_queue</a> &other)</td></tr> <tr class="separator:gae5076ffb65c8817075b6cf375cc8c5ca"><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 _Tv, typename Cmp_Fn = std::less<_Tv>, typename Tag = pairing_heap_tag, typename _Alloc = std::allocator<char>><br /> class __gnu_pbds::priority_queue< _Tv, Cmp_Fn, Tag, _Alloc ></h3> <p>A priority queue composed of one specific heap policy.</p> <dl class="tparams"><dt>Template Parameters</dt><dd> <table class="tparams"> <tr><td class="paramname">_Tv</td><td>Value type. </td></tr> <tr><td class="paramname">Cmp_Fn</td><td>Comparison functor. </td></tr> <tr><td class="paramname">Tag</td><td>Instantiating data structure type, see container_tag. </td></tr> <tr><td class="paramname">_Alloc</td><td>Allocator type.</td></tr> </table> </dd> </dl> <p>Base is dispatched at compile time via Tag, from the following choices: binary_heap_tag, binomial_heap_tag, pairing_heap_tag, rc_binomial_heap_tag, thin_heap_tag</p> <p>Base choices are: detail::binary_heap, detail::binomial_heap, detail::pairing_heap, detail::rc_binomial_heap, detail::thin_heap. </p> <p class="definition">Definition at line <a class="el" href="a01070_source.html#l00083">83</a> of file <a class="el" href="a01070_source.html">priority_queue.hpp</a>.</p> </div><hr/>The documentation for this class was generated from the following file:<ul> <li><a class="el" href="a01070_source.html">priority_queue.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="a09849.html">priority_queue</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>