<!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.5"/> <title>libstdc++: __gnu_cxx::_ExtPtr_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="navtree.js"></script> <script type="text/javascript"> $(document).ready(initResizable); $(window).load(resizeHeight); </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 style="padding-left: 0.5em;"> <div id="projectname">libstdc++ </div> </td> </tr> </tbody> </table> </div> <!-- end header part --> <!-- Generated by Doxygen 1.8.5 --> </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('a00024.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="#pub-attribs">Public Attributes</a> | <a href="#friends">Friends</a> | <a href="a02111.html">List of all members</a> </div> <div class="headertitle"> <div class="title">__gnu_cxx::_ExtPtr_allocator< _Tp > Class Template Reference<div class="ingroups"><a class="el" href="a01713.html">Allocators</a></div></div> </div> </div><!--header--> <div class="contents"> <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:a723ac1702fb4caa2e845a73df5fe38e9"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a723ac1702fb4caa2e845a73df5fe38e9"></a> typedef <a class="el" href="a00026.html">_Pointer_adapter</a><br class="typebreak"/> < <a class="el" href="a00027.html">_Relative_pointer_impl</a><br class="typebreak"/> < const _Tp > > </td><td class="memItemRight" valign="bottom"><b>const_pointer</b></td></tr> <tr class="separator:a723ac1702fb4caa2e845a73df5fe38e9"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:acb1814866b07e6378fdc8d77d9149811"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="acb1814866b07e6378fdc8d77d9149811"></a> typedef const _Tp & </td><td class="memItemRight" valign="bottom"><b>const_reference</b></td></tr> <tr class="separator:acb1814866b07e6378fdc8d77d9149811"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a697fe8a952d6971b999411ecd5a1592e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a697fe8a952d6971b999411ecd5a1592e"></a> typedef std::ptrdiff_t </td><td class="memItemRight" valign="bottom"><b>difference_type</b></td></tr> <tr class="separator:a697fe8a952d6971b999411ecd5a1592e"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:adbb65f0b533d9f00e20268972d1667a1"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="adbb65f0b533d9f00e20268972d1667a1"></a> typedef <a class="el" href="a00026.html">_Pointer_adapter</a><br class="typebreak"/> < <a class="el" href="a00027.html">_Relative_pointer_impl</a>< _Tp > > </td><td class="memItemRight" valign="bottom"><b>pointer</b></td></tr> <tr class="separator:adbb65f0b533d9f00e20268972d1667a1"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:af0cee07c3b9255fcf7b3f4194b1d1467"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af0cee07c3b9255fcf7b3f4194b1d1467"></a> typedef _Tp & </td><td class="memItemRight" valign="bottom"><b>reference</b></td></tr> <tr class="separator:af0cee07c3b9255fcf7b3f4194b1d1467"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ac177c55da5d8375f1f7283ddca8ca0fc"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac177c55da5d8375f1f7283ddca8ca0fc"></a> typedef std::size_t </td><td class="memItemRight" valign="bottom"><b>size_type</b></td></tr> <tr class="separator:ac177c55da5d8375f1f7283ddca8ca0fc"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a057734a4b0e8be35758d905d5179f803"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a057734a4b0e8be35758d905d5179f803"></a> typedef _Tp </td><td class="memItemRight" valign="bottom"><b>value_type</b></td></tr> <tr class="separator:a057734a4b0e8be35758d905d5179f803"><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:a4cdfb0fa5bcafdc5044b9343a3a738d7"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4cdfb0fa5bcafdc5044b9343a3a738d7"></a>  </td><td class="memItemRight" valign="bottom"><b>_ExtPtr_allocator</b> (const <a class="el" href="a00024.html">_ExtPtr_allocator</a> &__rarg) noexcept</td></tr> <tr class="separator:a4cdfb0fa5bcafdc5044b9343a3a738d7"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a33d42a366a94f412a59b060c9e82cb36"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a33d42a366a94f412a59b060c9e82cb36"></a> const <a class="el" href="a00445.html">std::allocator</a>< _Tp > & </td><td class="memItemRight" valign="bottom"><b>_M_getUnderlyingImp</b> () const </td></tr> <tr class="separator:a33d42a366a94f412a59b060c9e82cb36"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:afc910a478b1da203a95cfdb97375041b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afc910a478b1da203a95cfdb97375041b"></a> <a class="el" href="a00026.html">const_pointer</a> </td><td class="memItemRight" valign="bottom"><b>address</b> (const_reference __x) const noexcept</td></tr> <tr class="separator:afc910a478b1da203a95cfdb97375041b"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a6b5b932d917946207830bfd4a5ec212a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6b5b932d917946207830bfd4a5ec212a"></a> <a class="el" href="a00026.html">pointer</a> </td><td class="memItemRight" valign="bottom"><b>allocate</b> (size_type __n, void *__hint=0)</td></tr> <tr class="separator:a6b5b932d917946207830bfd4a5ec212a"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a8490b54e20e24c8e146333c3c8e80f05"><td class="memTemplParams" colspan="2"><a class="anchor" id="a8490b54e20e24c8e146333c3c8e80f05"></a> template<typename _Up , typename... _Args> </td></tr> <tr class="memitem:a8490b54e20e24c8e146333c3c8e80f05"><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:a8490b54e20e24c8e146333c3c8e80f05"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a629776142cc9ef8faa7cade8888c3110"><td class="memTemplParams" colspan="2"><a class="anchor" id="a629776142cc9ef8faa7cade8888c3110"></a> template<typename... _Args> </td></tr> <tr class="memitem:a629776142cc9ef8faa7cade8888c3110"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><b>construct</b> (<a class="el" href="a00026.html">pointer</a> __p, _Args &&...__args)</td></tr> <tr class="separator:a629776142cc9ef8faa7cade8888c3110"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:abc8a35a8045c8806d027f1fbee06562e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abc8a35a8045c8806d027f1fbee06562e"></a> void </td><td class="memItemRight" valign="bottom"><b>deallocate</b> (<a class="el" href="a00026.html">pointer</a> __p, size_type __n)</td></tr> <tr class="separator:abc8a35a8045c8806d027f1fbee06562e"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ade4347ed345fb1c084d498fb538eb9f3"><td class="memTemplParams" colspan="2"><a class="anchor" id="ade4347ed345fb1c084d498fb538eb9f3"></a> template<typename _Up > </td></tr> <tr class="memitem:ade4347ed345fb1c084d498fb538eb9f3"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><b>destroy</b> (_Up *__p)</td></tr> <tr class="separator:ade4347ed345fb1c084d498fb538eb9f3"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a54a5e600dfd4d485766e5fef60a44c65"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a54a5e600dfd4d485766e5fef60a44c65"></a> void </td><td class="memItemRight" valign="bottom"><b>destroy</b> (<a class="el" href="a00026.html">pointer</a> __p)</td></tr> <tr class="separator:a54a5e600dfd4d485766e5fef60a44c65"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a543d715ac0d4e0d5791e3281286ae4f2"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a543d715ac0d4e0d5791e3281286ae4f2"></a> size_type </td><td class="memItemRight" valign="bottom"><b>max_size</b> () const noexcept</td></tr> <tr class="separator:a543d715ac0d4e0d5791e3281286ae4f2"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a93aed8d482dc3b00521645a471085e08"><td class="memTemplParams" colspan="2"><a class="anchor" id="a93aed8d482dc3b00521645a471085e08"></a> template<typename _Up > </td></tr> <tr class="memitem:a93aed8d482dc3b00521645a471085e08"><td class="memTemplItemLeft" align="right" valign="top">bool </td><td class="memTemplItemRight" valign="bottom"><b>operator!=</b> (const <a class="el" href="a00024.html">_ExtPtr_allocator</a>< _Up > &__rarg)</td></tr> <tr class="separator:a93aed8d482dc3b00521645a471085e08"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a92d6b16dd7c92e2bfebfa53f8d16982b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a92d6b16dd7c92e2bfebfa53f8d16982b"></a> bool </td><td class="memItemRight" valign="bottom"><b>operator!=</b> (const <a class="el" href="a00024.html">_ExtPtr_allocator</a> &__rarg)</td></tr> <tr class="separator:a92d6b16dd7c92e2bfebfa53f8d16982b"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a2c8f92d00952c242bcf6bba2fb4c6ad3"><td class="memTemplParams" colspan="2"><a class="anchor" id="a2c8f92d00952c242bcf6bba2fb4c6ad3"></a> template<typename _Up > </td></tr> <tr class="memitem:a2c8f92d00952c242bcf6bba2fb4c6ad3"><td class="memTemplItemLeft" align="right" valign="top">bool </td><td class="memTemplItemRight" valign="bottom"><b>operator==</b> (const <a class="el" href="a00024.html">_ExtPtr_allocator</a>< _Up > &__rarg)</td></tr> <tr class="separator:a2c8f92d00952c242bcf6bba2fb4c6ad3"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a59a70d6037c489e7b0255ba7d84230ec"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a59a70d6037c489e7b0255ba7d84230ec"></a> bool </td><td class="memItemRight" valign="bottom"><b>operator==</b> (const <a class="el" href="a00024.html">_ExtPtr_allocator</a> &__rarg)</td></tr> <tr class="separator:a59a70d6037c489e7b0255ba7d84230ec"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a> Public Attributes</h2></td></tr> <tr class="memitem:ad23d4681d403e7a1086ee85a55d7963d"><td class="memTemplParams" colspan="2"><a class="anchor" id="ad23d4681d403e7a1086ee85a55d7963d"></a> template<typename _Up > </td></tr> <tr class="memitem:ad23d4681d403e7a1086ee85a55d7963d"><td class="memTemplItemLeft" align="right" valign="top">noexcept </td><td class="memTemplItemRight" valign="bottom"><b>__pad0__</b>: _M_real_alloc(__rarg._M_getUnderlyingImp()) { } ~<a class="el" href="a00024.html">_ExtPtr_allocator</a>() noexcept { } <a class="el" href="a00026.html">pointer</a> address(reference __x) const noexcept { return <a class="el" href="a01701.html#ga145a38ffdb1e846f389c2841897665b7">std::__addressof</a>(__x)</td></tr> <tr class="separator:ad23d4681d403e7a1086ee85a55d7963d"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="friends"></a> Friends</h2></td></tr> <tr class="memitem:a62f99aba7c690d5701539f33ca615010"><td class="memTemplParams" colspan="2"><a class="anchor" id="a62f99aba7c690d5701539f33ca615010"></a> template<typename _Up > </td></tr> <tr class="memitem:a62f99aba7c690d5701539f33ca615010"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><b>swap</b> (<a class="el" href="a00024.html">_ExtPtr_allocator</a>< _Up > &, <a class="el" href="a00024.html">_ExtPtr_allocator</a>< _Up > &)</td></tr> <tr class="separator:a62f99aba7c690d5701539f33ca615010"><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 __gnu_cxx::_ExtPtr_allocator< _Tp ></h3> <p>An example allocator which uses a non-standard pointer type.</p> <p>This allocator specifies that containers use a 'relative pointer' as it's pointer type. (See ext/pointer.h) Memory allocation in this example is still performed using std::allocator. </p> <p>Definition at line <a class="el" href="a01226_source.html#l00056">56</a> of file <a class="el" href="a01226_source.html">extptr_allocator.h</a>.</p> </div><hr/>The documentation for this class was generated from the following file:<ul> <li><a class="el" href="a01226_source.html">extptr_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="a01648.html">__gnu_cxx</a></li><li class="navelem"><a class="el" href="a00024.html">_ExtPtr_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.5 </li> </ul> </div> </body> </html>