<!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++: std::__detail::_Hashtable_base< _Key, _Value, _ExtractKey, _Equal, _H1, _H2, _Hash, _Traits > Struct 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('a05588.html','');}); /* @license-end */ </script> <div id="doc-content"> <div class="header"> <div class="summary"> <a href="#pub-types">Public Types</a> | <a href="#pro-methods">Protected Member Functions</a> | <a href="a05585.html">List of all members</a> </div> <div class="headertitle"> <div class="title">std::__detail::_Hashtable_base< _Key, _Value, _ExtractKey, _Equal, _H1, _H2, _Hash, _Traits > Struct Template Reference<div class="ingroups"><a class="el" href="a01460.html">Containers</a> » <a class="el" href="a01463.html">Unordered Associative</a> » <a class="el" href="a01488.html">Base and Implementation Classes</a></div></div> </div> </div><!--header--> <div class="contents"> <div class="dynheader"> Inheritance diagram for std::__detail::_Hashtable_base< _Key, _Value, _ExtractKey, _Equal, _H1, _H2, _Hash, _Traits >:</div> <div class="dyncontent"> <div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="a05587.svg" width="100%" height="461"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div> </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:a64eee67db28b8bbc8d65891300650055"><td class="memItemLeft" align="right" valign="top"><a id="a64eee67db28b8bbc8d65891300650055"></a> using </td><td class="memItemRight" valign="bottom"><b>__constant_iterators</b> = typename __traits_type::__constant_iterators</td></tr> <tr class="separator:a64eee67db28b8bbc8d65891300650055"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:af91d97de1141b01fe595b0c0edef5b9e"><td class="memItemLeft" align="right" valign="top"><a id="af91d97de1141b01fe595b0c0edef5b9e"></a> using </td><td class="memItemRight" valign="bottom"><b>__hash_cached</b> = typename __traits_type::__hash_cached</td></tr> <tr class="separator:af91d97de1141b01fe595b0c0edef5b9e"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a477dffdc3eca313c1580b8c91d74a69b"><td class="memItemLeft" align="right" valign="top"><a id="a477dffdc3eca313c1580b8c91d74a69b"></a> using </td><td class="memItemRight" valign="bottom"><b>__hash_code</b> = typename __hash_code_base::__hash_code</td></tr> <tr class="separator:a477dffdc3eca313c1580b8c91d74a69b"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a484b89c7fb198516d0aeee7a9b85a832"><td class="memItemLeft" align="right" valign="top"><a id="a484b89c7fb198516d0aeee7a9b85a832"></a> using </td><td class="memItemRight" valign="bottom"><b>__hash_code_base</b> = <a class="el" href="a05724.html">_Hash_code_base</a>< _Key, _Value, _ExtractKey, _H1, _H2, _Hash, __hash_cached::value ></td></tr> <tr class="separator:a484b89c7fb198516d0aeee7a9b85a832"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aab771268c7502bc1bb29a881b3059f22"><td class="memItemLeft" align="right" valign="top"><a id="aab771268c7502bc1bb29a881b3059f22"></a> using </td><td class="memItemRight" valign="bottom"><b>__ireturn_type</b> = typename <a class="el" href="a03044.html">std::conditional</a>< __unique_keys::value, <a class="el" href="a07764.html">std::pair</a>< <a class="el" href="a05640.html">iterator</a>, bool >, <a class="el" href="a05640.html">iterator</a> >::type</td></tr> <tr class="separator:aab771268c7502bc1bb29a881b3059f22"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a538bcc304837e562814eb8ed4b2205f7"><td class="memItemLeft" align="right" valign="top"><a id="a538bcc304837e562814eb8ed4b2205f7"></a> using </td><td class="memItemRight" valign="bottom"><b>__node_type</b> = typename __hash_code_base::__node_type</td></tr> <tr class="separator:a538bcc304837e562814eb8ed4b2205f7"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a92d4216e532f3b8a82f63524da415910"><td class="memItemLeft" align="right" valign="top"><a id="a92d4216e532f3b8a82f63524da415910"></a> using </td><td class="memItemRight" valign="bottom"><b>__traits_type</b> = _Traits</td></tr> <tr class="separator:a92d4216e532f3b8a82f63524da415910"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ae40c9b10faba38916198fd073ac62648"><td class="memItemLeft" align="right" valign="top"><a id="ae40c9b10faba38916198fd073ac62648"></a> using </td><td class="memItemRight" valign="bottom"><b>__unique_keys</b> = typename __traits_type::__unique_keys</td></tr> <tr class="separator:ae40c9b10faba38916198fd073ac62648"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a1b168aed24575f0fd1a47ff0144176d3"><td class="memItemLeft" align="right" valign="top"><a id="a1b168aed24575f0fd1a47ff0144176d3"></a> using </td><td class="memItemRight" valign="bottom"><b>const_iterator</b> = <a class="el" href="a05644.html">__detail::_Node_const_iterator</a>< value_type, __constant_iterators::value, __hash_cached::value ></td></tr> <tr class="separator:a1b168aed24575f0fd1a47ff0144176d3"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:af465b90d8dad82fd80adf2c185bca99b"><td class="memItemLeft" align="right" valign="top"><a id="af465b90d8dad82fd80adf2c185bca99b"></a> using </td><td class="memItemRight" valign="bottom"><b>const_local_iterator</b> = <a class="el" href="a05772.html">__detail::_Local_const_iterator</a>< key_type, value_type, _ExtractKey, _H1, _H2, _Hash, __constant_iterators::value, __hash_cached::value ></td></tr> <tr class="separator:af465b90d8dad82fd80adf2c185bca99b"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a0d17d28e1fc047140494c409eaeabec9"><td class="memItemLeft" align="right" valign="top"><a id="a0d17d28e1fc047140494c409eaeabec9"></a> typedef std::ptrdiff_t </td><td class="memItemRight" valign="bottom"><b>difference_type</b></td></tr> <tr class="separator:a0d17d28e1fc047140494c409eaeabec9"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a815670d38bb9d23dfb35b56c02162ff2"><td class="memItemLeft" align="right" valign="top"><a id="a815670d38bb9d23dfb35b56c02162ff2"></a> using </td><td class="memItemRight" valign="bottom"><b>iterator</b> = <a class="el" href="a05640.html">__detail::_Node_iterator</a>< value_type, __constant_iterators::value, __hash_cached::value ></td></tr> <tr class="separator:a815670d38bb9d23dfb35b56c02162ff2"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ae73c06e1cdc9f1f64bdb2103b7e5aa27"><td class="memItemLeft" align="right" valign="top"><a id="ae73c06e1cdc9f1f64bdb2103b7e5aa27"></a> typedef _Equal </td><td class="memItemRight" valign="bottom"><b>key_equal</b></td></tr> <tr class="separator:ae73c06e1cdc9f1f64bdb2103b7e5aa27"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ad4c0fb9dbc26e84366970dfd5580277f"><td class="memItemLeft" align="right" valign="top"><a id="ad4c0fb9dbc26e84366970dfd5580277f"></a> typedef _Key </td><td class="memItemRight" valign="bottom"><b>key_type</b></td></tr> <tr class="separator:ad4c0fb9dbc26e84366970dfd5580277f"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a22e6edf0e170912c7adc5fe99742251c"><td class="memItemLeft" align="right" valign="top"><a id="a22e6edf0e170912c7adc5fe99742251c"></a> using </td><td class="memItemRight" valign="bottom"><b>local_iterator</b> = <a class="el" href="a05768.html">__detail::_Local_iterator</a>< key_type, value_type, _ExtractKey, _H1, _H2, _Hash, __constant_iterators::value, __hash_cached::value ></td></tr> <tr class="separator:a22e6edf0e170912c7adc5fe99742251c"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:adee38e22b8e6c817e8daa5f3f779d1aa"><td class="memItemLeft" align="right" valign="top"><a id="adee38e22b8e6c817e8daa5f3f779d1aa"></a> typedef std::size_t </td><td class="memItemRight" valign="bottom"><b>size_type</b></td></tr> <tr class="separator:adee38e22b8e6c817e8daa5f3f779d1aa"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ab1c5d63ec9f5e5cadcdf0c317050d771"><td class="memItemLeft" align="right" valign="top"><a id="ab1c5d63ec9f5e5cadcdf0c317050d771"></a> typedef _Value </td><td class="memItemRight" valign="bottom"><b>value_type</b></td></tr> <tr class="separator:ab1c5d63ec9f5e5cadcdf0c317050d771"><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:a8ad8bf15803db99843859ce71c72ffa5"><td class="memItemLeft" align="right" valign="top"><a id="a8ad8bf15803db99843859ce71c72ffa5"></a>  </td><td class="memItemRight" valign="bottom"><b>_Hashtable_base</b> (const _ExtractKey &__ex, const _H1 &__h1, const _H2 &__h2, const _Hash &__hash, const _Equal &__eq)</td></tr> <tr class="separator:a8ad8bf15803db99843859ce71c72ffa5"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a2c02394ae010f75cbe465197f3bc5047"><td class="memItemLeft" align="right" valign="top"><a id="a2c02394ae010f75cbe465197f3bc5047"></a> const _Equal & </td><td class="memItemRight" valign="bottom"><b>_M_eq</b> () const</td></tr> <tr class="separator:a2c02394ae010f75cbe465197f3bc5047"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a18e53fa11711bcb965291aa96727deab"><td class="memItemLeft" align="right" valign="top"><a id="a18e53fa11711bcb965291aa96727deab"></a> _Equal & </td><td class="memItemRight" valign="bottom"><b>_M_eq</b> ()</td></tr> <tr class="separator:a18e53fa11711bcb965291aa96727deab"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:af1a2acf3430aa32190eb592669767221"><td class="memItemLeft" align="right" valign="top"><a id="af1a2acf3430aa32190eb592669767221"></a> bool </td><td class="memItemRight" valign="bottom"><b>_M_equals</b> (const _Key &__k, __hash_code __c, __node_type *__n) const</td></tr> <tr class="separator:af1a2acf3430aa32190eb592669767221"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a98feb403ba79ebae0005afc24d2dbeef"><td class="memItemLeft" align="right" valign="top"><a id="a98feb403ba79ebae0005afc24d2dbeef"></a> void </td><td class="memItemRight" valign="bottom"><b>_M_swap</b> (<a class="el" href="a05588.html">_Hashtable_base</a> &__x)</td></tr> <tr class="separator:a98feb403ba79ebae0005afc24d2dbeef"><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 _Key, typename _Value, typename _ExtractKey, typename _Equal, typename _H1, typename _H2, typename _Hash, typename _Traits><br /> struct std::__detail::_Hashtable_base< _Key, _Value, _ExtractKey, _Equal, _H1, _H2, _Hash, _Traits ></h3> <p>Primary class template _Hashtable_base.</p> <p>Helper class adding management of _Equal functor to _Hash_code_base type.</p> <p>Base class templates are:</p><ul> <li>__detail::_Hash_code_base</li> <li>__detail::_Hashtable_ebo_helper </li> </ul> <p class="definition">Definition at line <a class="el" href="a00374_source.html#l00058">58</a> of file <a class="el" href="a00374_source.html">hashtable_policy.h</a>.</p> </div><hr/>The documentation for this struct was generated from the following file:<ul> <li><a class="el" href="a00374_source.html">hashtable_policy.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="a01538.html">std</a></li><li class="navelem"><a class="el" href="a01539.html">__detail</a></li><li class="navelem"><a class="el" href="a05588.html">_Hashtable_base</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>