<!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::_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="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('a09065.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="#friends">Friends</a> | <a href="a09062.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="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"> <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 id="a723ac1702fb4caa2e845a73df5fe38e9"></a> typedef <a class="el" href="a09257.html">_Pointer_adapter</a>< <a class="el" href="a09217.html">_Relative_pointer_impl</a>< 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 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 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 id="adbb65f0b533d9f00e20268972d1667a1"></a> typedef <a class="el" href="a09257.html">_Pointer_adapter</a>< <a class="el" href="a09217.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 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 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 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 id="a4cdfb0fa5bcafdc5044b9343a3a738d7"></a>  </td><td class="memItemRight" valign="bottom"><b>_ExtPtr_allocator</b> (const <a class="el" href="a09065.html">_ExtPtr_allocator</a> &__rarg) noexcept</td></tr> <tr class="separator:a4cdfb0fa5bcafdc5044b9343a3a738d7"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:af63fb2abc99fc0ec7e432801f0b5bdfb"><td class="memTemplParams" colspan="2"><a id="af63fb2abc99fc0ec7e432801f0b5bdfb"></a> template<typename _Up > </td></tr> <tr class="memitem:af63fb2abc99fc0ec7e432801f0b5bdfb"><td class="memTemplItemLeft" align="right" valign="top"> </td><td class="memTemplItemRight" valign="bottom"><b>_ExtPtr_allocator</b> (const <a class="el" href="a09065.html">_ExtPtr_allocator</a>< _Up > &__rarg) noexcept</td></tr> <tr class="separator:af63fb2abc99fc0ec7e432801f0b5bdfb"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a803a023b5597e2c78010c152234a6168"><td class="memItemLeft" align="right" valign="top"><a id="a803a023b5597e2c78010c152234a6168"></a> const <a class="el" href="a04137.html">std::allocator</a>< _Tp > & </td><td class="memItemRight" valign="bottom"><b>_M_getUnderlyingImp</b> () const</td></tr> <tr class="separator:a803a023b5597e2c78010c152234a6168"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a849256c515bf5e5e277df8127a3afa24"><td class="memItemLeft" align="right" valign="top"><a id="a849256c515bf5e5e277df8127a3afa24"></a> <a class="el" href="a09257.html">pointer</a> </td><td class="memItemRight" valign="bottom"><b>address</b> (reference __x) const noexcept</td></tr> <tr class="separator:a849256c515bf5e5e277df8127a3afa24"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:afc910a478b1da203a95cfdb97375041b"><td class="memItemLeft" align="right" valign="top"><a id="afc910a478b1da203a95cfdb97375041b"></a> <a class="el" href="a09257.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 id="a6b5b932d917946207830bfd4a5ec212a"></a> <a class="el" href="a09257.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:abf0a535f2bbd80fb6243d5516932212c"><td class="memTemplParams" colspan="2"><a id="abf0a535f2bbd80fb6243d5516932212c"></a> template<typename _Up , typename... _Args> </td></tr> <tr class="memitem:abf0a535f2bbd80fb6243d5516932212c"><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:abf0a535f2bbd80fb6243d5516932212c"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a256e5d9ce36772d08e0ebb40a3b4ab31"><td class="memTemplParams" colspan="2"><a id="a256e5d9ce36772d08e0ebb40a3b4ab31"></a> template<typename... _Args> </td></tr> <tr class="memitem:a256e5d9ce36772d08e0ebb40a3b4ab31"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><b>construct</b> (<a class="el" href="a09257.html">pointer</a> __p, _Args &&... __args)</td></tr> <tr class="separator:a256e5d9ce36772d08e0ebb40a3b4ab31"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:abc8a35a8045c8806d027f1fbee06562e"><td class="memItemLeft" align="right" valign="top"><a id="abc8a35a8045c8806d027f1fbee06562e"></a> void </td><td class="memItemRight" valign="bottom"><b>deallocate</b> (<a class="el" href="a09257.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 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 id="a54a5e600dfd4d485766e5fef60a44c65"></a> void </td><td class="memItemRight" valign="bottom"><b>destroy</b> (<a class="el" href="a09257.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 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 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="a09065.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 id="a92d6b16dd7c92e2bfebfa53f8d16982b"></a> bool </td><td class="memItemRight" valign="bottom"><b>operator!=</b> (const <a class="el" href="a09065.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 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="a09065.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 id="a59a70d6037c489e7b0255ba7d84230ec"></a> bool </td><td class="memItemRight" valign="bottom"><b>operator==</b> (const <a class="el" href="a09065.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="friends"></a> Friends</h2></td></tr> <tr class="memitem:a62f99aba7c690d5701539f33ca615010"><td class="memTemplParams" colspan="2"><a 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="a09065.html">_ExtPtr_allocator</a>< _Up > &, <a class="el" href="a09065.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 class="definition">Definition at line <a class="el" href="a00995_source.html#l00056">56</a> of file <a class="el" href="a00995_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="a00995_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="a01493.html">__gnu_cxx</a></li><li class="navelem"><a class="el" href="a09065.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.13 </li> </ul> </div> </body> </html>