<!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::allocator< _Tp > 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('a04704.html','');}); /* @license-end */ </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="a04701.html">List of all members</a> </div> <div class="headertitle"> <div class="title">std::allocator< _Tp > Class Template Reference<div class="ingroups"><a class="el" href="a01477.html">Utilities</a> » <a class="el" href="a01471.html">Memory</a> » <a class="el" href="a01490.html">Allocators</a></div></div> </div> </div><!--header--> <div class="contents"> <div class="dynheader"> Inheritance diagram for std::allocator< _Tp >:</div> <div class="dyncontent"> <div class="center"><iframe scrolling="no" frameborder="0" src="a04703.svg" width="170" height="110"><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:a14cba1575b8ccd0097e0aeeb559a6123"><td class="memItemLeft" align="right" valign="top"><a id="a14cba1575b8ccd0097e0aeeb559a6123"></a> typedef const _Tp * </td><td class="memItemRight" valign="bottom"><b>const_pointer</b></td></tr> <tr class="separator:a14cba1575b8ccd0097e0aeeb559a6123"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aed37862c1ad7c5a451188378098135c9"><td class="memItemLeft" align="right" valign="top"><a id="aed37862c1ad7c5a451188378098135c9"></a> typedef const _Tp & </td><td class="memItemRight" valign="bottom"><b>const_reference</b></td></tr> <tr class="separator:aed37862c1ad7c5a451188378098135c9"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ae09ae5145d1c467b77623d61bae0dc6e"><td class="memItemLeft" align="right" valign="top"><a id="ae09ae5145d1c467b77623d61bae0dc6e"></a> typedef ptrdiff_t </td><td class="memItemRight" valign="bottom"><b>difference_type</b></td></tr> <tr class="separator:ae09ae5145d1c467b77623d61bae0dc6e"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:af4077f5651627d614930f40ca09a372c"><td class="memItemLeft" align="right" valign="top"><a id="af4077f5651627d614930f40ca09a372c"></a> typedef <a class="el" href="a01476.html#ga6a860513044e23d34e553ea986e83fa1">true_type</a> </td><td class="memItemRight" valign="bottom"><b>is_always_equal</b></td></tr> <tr class="separator:af4077f5651627d614930f40ca09a372c"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ab20fd0c93163cb0b45c87d4da92bf213"><td class="memItemLeft" align="right" valign="top"><a id="ab20fd0c93163cb0b45c87d4da92bf213"></a> typedef _Tp * </td><td class="memItemRight" valign="bottom"><b>pointer</b></td></tr> <tr class="separator:ab20fd0c93163cb0b45c87d4da92bf213"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a0534c69a1a270833486ba74731596ded"><td class="memItemLeft" align="right" valign="top"><a id="a0534c69a1a270833486ba74731596ded"></a> typedef <a class="el" href="a01476.html#ga6a860513044e23d34e553ea986e83fa1">true_type</a> </td><td class="memItemRight" valign="bottom"><b>propagate_on_container_move_assignment</b></td></tr> <tr class="separator:a0534c69a1a270833486ba74731596ded"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a67224e37353c31057d11aa643996d822"><td class="memItemLeft" align="right" valign="top"><a id="a67224e37353c31057d11aa643996d822"></a> typedef _Tp & </td><td class="memItemRight" valign="bottom"><b>reference</b></td></tr> <tr class="separator:a67224e37353c31057d11aa643996d822"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:acce6847727c197a562bd1b7032ede9e7"><td class="memItemLeft" align="right" valign="top"><a id="acce6847727c197a562bd1b7032ede9e7"></a> typedef size_t </td><td class="memItemRight" valign="bottom"><b>size_type</b></td></tr> <tr class="separator:acce6847727c197a562bd1b7032ede9e7"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a20eaa9c7ae095e05a6c34d45ab35607e"><td class="memItemLeft" align="right" valign="top"><a id="a20eaa9c7ae095e05a6c34d45ab35607e"></a> typedef _Tp </td><td class="memItemRight" valign="bottom"><b>value_type</b></td></tr> <tr class="separator:a20eaa9c7ae095e05a6c34d45ab35607e"><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:a730c98d7a5edaccb58946d13eba4a767"><td class="memItemLeft" align="right" valign="top"><a id="a730c98d7a5edaccb58946d13eba4a767"></a>  </td><td class="memItemRight" valign="bottom"><b>allocator</b> (const <a class="el" href="a04704.html">allocator</a> &__a) throw ()</td></tr> <tr class="separator:a730c98d7a5edaccb58946d13eba4a767"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a71e5718d4179cd87e530127221ffed97"><td class="memTemplParams" colspan="2"><a id="a71e5718d4179cd87e530127221ffed97"></a> template<typename _Tp1 > </td></tr> <tr class="memitem:a71e5718d4179cd87e530127221ffed97"><td class="memTemplItemLeft" align="right" valign="top"> </td><td class="memTemplItemRight" valign="bottom"><b>allocator</b> (const <a class="el" href="a04704.html">allocator</a>< _Tp1 > &) throw ()</td></tr> <tr class="separator:a71e5718d4179cd87e530127221ffed97"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a07fa5e258cdfc648ab8fbb6ed41d4c64"><td class="memItemLeft" align="right" valign="top"><a id="a07fa5e258cdfc648ab8fbb6ed41d4c64"></a> pointer </td><td class="memItemRight" valign="bottom"><b>address</b> (reference __x) const noexcept</td></tr> <tr class="separator:a07fa5e258cdfc648ab8fbb6ed41d4c64"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aa2eb7f9215d6e53897a84258b47156e4"><td class="memItemLeft" align="right" valign="top"><a id="aa2eb7f9215d6e53897a84258b47156e4"></a> const_pointer </td><td class="memItemRight" valign="bottom"><b>address</b> (const_reference __x) const noexcept</td></tr> <tr class="separator:aa2eb7f9215d6e53897a84258b47156e4"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ad6c9c78c9f11d364998bc48465708e9c"><td class="memItemLeft" align="right" valign="top"><a id="ad6c9c78c9f11d364998bc48465708e9c"></a> pointer </td><td class="memItemRight" valign="bottom"><b>allocate</b> (size_type __n, const void *=static_cast< const void * >(0))</td></tr> <tr class="separator:ad6c9c78c9f11d364998bc48465708e9c"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:af3177f54666f595dbcab8943f828392a"><td class="memTemplParams" colspan="2"><a id="af3177f54666f595dbcab8943f828392a"></a> template<typename _Up , typename... _Args> </td></tr> <tr class="memitem:af3177f54666f595dbcab8943f828392a"><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:af3177f54666f595dbcab8943f828392a"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aa20a4c9023d94e4f8b17234ee6660984"><td class="memItemLeft" align="right" valign="top"><a id="aa20a4c9023d94e4f8b17234ee6660984"></a> void </td><td class="memItemRight" valign="bottom"><b>deallocate</b> (pointer __p, size_type)</td></tr> <tr class="separator:aa20a4c9023d94e4f8b17234ee6660984"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aa698f2dbcd76f1cf27644e7acf8fa68b"><td class="memTemplParams" colspan="2"><a id="aa698f2dbcd76f1cf27644e7acf8fa68b"></a> template<typename _Up > </td></tr> <tr class="memitem:aa698f2dbcd76f1cf27644e7acf8fa68b"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><b>destroy</b> (_Up *__p)</td></tr> <tr class="separator:aa698f2dbcd76f1cf27644e7acf8fa68b"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a36657e31d0dc9ca9f1b5890d6937569b"><td class="memItemLeft" align="right" valign="top"><a id="a36657e31d0dc9ca9f1b5890d6937569b"></a> size_type </td><td class="memItemRight" valign="bottom"><b>max_size</b> () const noexcept</td></tr> <tr class="separator:a36657e31d0dc9ca9f1b5890d6937569b"><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><br /> class std::allocator< _Tp ></h3> <p>The <em>standard</em> allocator, as per [20.4]. </p> <p>See <a href="https://gcc.gnu.org/onlinedocs/libstdc++/manual/memory.html#std.util.memory.allocator">https://gcc.gnu.org/onlinedocs/libstdc++/manual/memory.html#std.util.memory.allocator</a> for further details.</p> <dl class="tparams"><dt>Template Parameters</dt><dd> <table class="tparams"> <tr><td class="paramname">_Tp</td><td>Type of allocated object. </td></tr> </table> </dd> </dl> <p class="definition">Definition at line <a class="el" href="a00272_source.html#l00108">108</a> of file <a class="el" href="a00272_source.html">allocator.h</a>.</p> </div><hr/>The documentation for this class was generated from the following file:<ul> <li><a class="el" href="a00272_source.html">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="a01538.html">std</a></li><li class="navelem"><a class="el" href="a04704.html">allocator</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>