<!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_cxx::__mt_alloc< _Tp, _Poolp > 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('a09181.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="a09178.html">List of all members</a> </div> <div class="headertitle"> <div class="title">__gnu_cxx::__mt_alloc< _Tp, _Poolp > Class Template Reference<div class="ingroups"><a class="el" href="a01431.html">Utilities</a> » <a class="el" href="a01424.html">Memory</a> » <a class="el" href="a01443.html">Allocators</a></div></div> </div> </div><!--header--> <div class="contents"> <div class="dynheader"> Inheritance diagram for __gnu_cxx::__mt_alloc< _Tp, _Poolp >:</div> <div class="dyncontent"> <div class="center"><iframe scrolling="no" frameborder="0" src="a09180.svg" width="159" 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-types"></a> Public Types</h2></td></tr> <tr class="memitem:a70e0194fd5ba284f4e2940fb026a38c1"><td class="memItemLeft" align="right" valign="top"><a id="a70e0194fd5ba284f4e2940fb026a38c1"></a> typedef _Poolp </td><td class="memItemRight" valign="bottom"><b>__policy_type</b></td></tr> <tr class="separator:a70e0194fd5ba284f4e2940fb026a38c1"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a28f0394995442135402f2326cdf09da3"><td class="memItemLeft" align="right" valign="top"><a id="a28f0394995442135402f2326cdf09da3"></a> typedef _Poolp::pool_type </td><td class="memItemRight" valign="bottom"><b>__pool_type</b></td></tr> <tr class="separator:a28f0394995442135402f2326cdf09da3"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a269ce2c95600af121bde452eedd000c0"><td class="memItemLeft" align="right" valign="top"><a id="a269ce2c95600af121bde452eedd000c0"></a> typedef const _Tp * </td><td class="memItemRight" valign="bottom"><b>const_pointer</b></td></tr> <tr class="separator:a269ce2c95600af121bde452eedd000c0"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:abbadc695386b71db76ec5a1cf87c4267"><td class="memItemLeft" align="right" valign="top"><a id="abbadc695386b71db76ec5a1cf87c4267"></a> typedef const _Tp & </td><td class="memItemRight" valign="bottom"><b>const_reference</b></td></tr> <tr class="separator:abbadc695386b71db76ec5a1cf87c4267"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a34c46216393036389cda9aeedd4cb88a"><td class="memItemLeft" align="right" valign="top"><a id="a34c46216393036389cda9aeedd4cb88a"></a> typedef ptrdiff_t </td><td class="memItemRight" valign="bottom"><b>difference_type</b></td></tr> <tr class="separator:a34c46216393036389cda9aeedd4cb88a"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a3deda23938853d76a11a2c9b853fb70c"><td class="memItemLeft" align="right" valign="top"><a id="a3deda23938853d76a11a2c9b853fb70c"></a> typedef _Tp * </td><td class="memItemRight" valign="bottom"><b>pointer</b></td></tr> <tr class="separator:a3deda23938853d76a11a2c9b853fb70c"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ab8b4705a90939d5a4658a85f5652329c"><td class="memItemLeft" align="right" valign="top"><a id="ab8b4705a90939d5a4658a85f5652329c"></a> typedef <a class="el" href="a01430.html#ga6a860513044e23d34e553ea986e83fa1">std::true_type</a> </td><td class="memItemRight" valign="bottom"><b>propagate_on_container_move_assignment</b></td></tr> <tr class="separator:ab8b4705a90939d5a4658a85f5652329c"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a9540b9e30b6d06ce1dbdb200b4035785"><td class="memItemLeft" align="right" valign="top"><a id="a9540b9e30b6d06ce1dbdb200b4035785"></a> typedef _Tp & </td><td class="memItemRight" valign="bottom"><b>reference</b></td></tr> <tr class="separator:a9540b9e30b6d06ce1dbdb200b4035785"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a8ea22bdc20b60aa4658b75b1685208f3"><td class="memItemLeft" align="right" valign="top"><a id="a8ea22bdc20b60aa4658b75b1685208f3"></a> typedef size_t </td><td class="memItemRight" valign="bottom"><b>size_type</b></td></tr> <tr class="separator:a8ea22bdc20b60aa4658b75b1685208f3"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a7e2e1054c58e2a814a49eb20055e9515"><td class="memItemLeft" align="right" valign="top"><a id="a7e2e1054c58e2a814a49eb20055e9515"></a> typedef _Tp </td><td class="memItemRight" valign="bottom"><b>value_type</b></td></tr> <tr class="separator:a7e2e1054c58e2a814a49eb20055e9515"><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:a14e4322611d7d52756356c71dfd92fba"><td class="memItemLeft" align="right" valign="top"><a id="a14e4322611d7d52756356c71dfd92fba"></a>  </td><td class="memItemRight" valign="bottom"><b>__mt_alloc</b> (const <a class="el" href="a09181.html">__mt_alloc</a> &) noexcept</td></tr> <tr class="separator:a14e4322611d7d52756356c71dfd92fba"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aed2aef878e4a7a4fcd9ffa355b709818"><td class="memTemplParams" colspan="2"><a id="aed2aef878e4a7a4fcd9ffa355b709818"></a> template<typename _Tp1 , typename _Poolp1 > </td></tr> <tr class="memitem:aed2aef878e4a7a4fcd9ffa355b709818"><td class="memTemplItemLeft" align="right" valign="top"> </td><td class="memTemplItemRight" valign="bottom"><b>__mt_alloc</b> (const <a class="el" href="a09181.html">__mt_alloc</a>< _Tp1, _Poolp1 > &) noexcept</td></tr> <tr class="separator:aed2aef878e4a7a4fcd9ffa355b709818"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ad2e5f93a94cb3ccbb543275ad5c6f79d"><td class="memItemLeft" align="right" valign="top"><a id="ad2e5f93a94cb3ccbb543275ad5c6f79d"></a> const __pool_base::_Tune </td><td class="memItemRight" valign="bottom"><b>_M_get_options</b> ()</td></tr> <tr class="separator:ad2e5f93a94cb3ccbb543275ad5c6f79d"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a48aa487aad7aaacdabc77074ea75b41c"><td class="memItemLeft" align="right" valign="top"><a id="a48aa487aad7aaacdabc77074ea75b41c"></a> void </td><td class="memItemRight" valign="bottom"><b>_M_set_options</b> (__pool_base::_Tune __t)</td></tr> <tr class="separator:a48aa487aad7aaacdabc77074ea75b41c"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a88a5f70c5fc02bddf5e044dce7ae0c35"><td class="memItemLeft" align="right" valign="top"><a id="a88a5f70c5fc02bddf5e044dce7ae0c35"></a> pointer </td><td class="memItemRight" valign="bottom"><b>address</b> (reference __x) const noexcept</td></tr> <tr class="separator:a88a5f70c5fc02bddf5e044dce7ae0c35"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aa749e5b1b374d46b57f36e066c2ad50e"><td class="memItemLeft" align="right" valign="top"><a id="aa749e5b1b374d46b57f36e066c2ad50e"></a> const_pointer </td><td class="memItemRight" valign="bottom"><b>address</b> (const_reference __x) const noexcept</td></tr> <tr class="separator:aa749e5b1b374d46b57f36e066c2ad50e"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aa66b234c7ad1913cf956367146c92f66"><td class="memItemLeft" align="right" valign="top"><a id="aa66b234c7ad1913cf956367146c92f66"></a> pointer </td><td class="memItemRight" valign="bottom"><b>allocate</b> (size_type __n, const void *=0)</td></tr> <tr class="separator:aa66b234c7ad1913cf956367146c92f66"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a2181b9c08c401ac7c8263b24998f9be7"><td class="memTemplParams" colspan="2"><a id="a2181b9c08c401ac7c8263b24998f9be7"></a> template<typename _Up , typename... _Args> </td></tr> <tr class="memitem:a2181b9c08c401ac7c8263b24998f9be7"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><b>construct</b> (_Up *__p, _Args &&... __args)</td></tr> <tr class="separator:a2181b9c08c401ac7c8263b24998f9be7"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:af58c66217ae75ace1b4dd1df95e733ac"><td class="memItemLeft" align="right" valign="top"><a id="af58c66217ae75ace1b4dd1df95e733ac"></a> void </td><td class="memItemRight" valign="bottom"><b>deallocate</b> (pointer __p, size_type __n)</td></tr> <tr class="separator:af58c66217ae75ace1b4dd1df95e733ac"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ae30ef7c140e4ce16d0d8694a15148350"><td class="memTemplParams" colspan="2"><a id="ae30ef7c140e4ce16d0d8694a15148350"></a> template<typename _Up > </td></tr> <tr class="memitem:ae30ef7c140e4ce16d0d8694a15148350"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><b>destroy</b> (_Up *__p)</td></tr> <tr class="separator:ae30ef7c140e4ce16d0d8694a15148350"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ae0e3a1613f19779b01a45faa2dd98097"><td class="memItemLeft" align="right" valign="top"><a id="ae0e3a1613f19779b01a45faa2dd98097"></a> size_type </td><td class="memItemRight" valign="bottom"><b>max_size</b> () const noexcept</td></tr> <tr class="separator:ae0e3a1613f19779b01a45faa2dd98097"><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 _Tp, typename _Poolp = __common_pool_policy<__pool, true >><br /> class __gnu_cxx::__mt_alloc< _Tp, _Poolp ></h3> <p>This is a fixed size (power of 2) allocator which - when compiled with thread support - will maintain one freelist per size per thread plus a <em>global</em> one. Steps are taken to limit the per thread freelist sizes (by returning excess back to the <em>global</em> list).</p> <p>Further details: <a href="https://gcc.gnu.org/onlinedocs/libstdc++/manual/mt_allocator.html">https://gcc.gnu.org/onlinedocs/libstdc++/manual/mt_allocator.html</a>. </p> <p class="definition">Definition at line <a class="el" href="a01001_source.html#l00639">639</a> of file <a class="el" href="a01001_source.html">mt_allocator.h</a>.</p> </div><hr/>The documentation for this class was generated from the following file:<ul> <li><a class="el" href="a01001_source.html">mt_allocator.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="a01493.html">__gnu_cxx</a></li><li class="navelem"><a class="el" href="a09181.html">__mt_alloc</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>