<!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++: __gnu_cxx::_Pointer_adapter< _Storage_policy > 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('a10504.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="#friends">Friends</a> | <a href="a10501.html">List of all members</a> </div> <div class="headertitle"> <div class="title">__gnu_cxx::_Pointer_adapter< _Storage_policy > Class Template Reference</div> </div> </div><!--header--> <div class="contents"> <p>Inherits _Storage_policy.</p> <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:a665a74ff2cbec42d4afea0608a7753b5"><td class="memItemLeft" align="right" valign="top"><a id="a665a74ff2cbec42d4afea0608a7753b5"></a> typedef std::ptrdiff_t </td><td class="memItemRight" valign="bottom"><b>difference_type</b></td></tr> <tr class="separator:a665a74ff2cbec42d4afea0608a7753b5"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a64a3041a413983230ce70dcb5a576280"><td class="memItemLeft" align="right" valign="top"><a id="a64a3041a413983230ce70dcb5a576280"></a> typedef _Storage_policy::element_type </td><td class="memItemRight" valign="bottom"><b>element_type</b></td></tr> <tr class="separator:a64a3041a413983230ce70dcb5a576280"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a2d376926a05b261508ce5ce05fc9f698"><td class="memItemLeft" align="right" valign="top"><a id="a2d376926a05b261508ce5ce05fc9f698"></a> typedef <a class="el" href="a07668.html">std::random_access_iterator_tag</a> </td><td class="memItemRight" valign="bottom"><b>iterator_category</b></td></tr> <tr class="separator:a2d376926a05b261508ce5ce05fc9f698"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a37d30564cc0344b888e6580cf353ea83"><td class="memItemLeft" align="right" valign="top"><a id="a37d30564cc0344b888e6580cf353ea83"></a> typedef <a class="el" href="a10504.html">_Pointer_adapter</a> </td><td class="memItemRight" valign="bottom"><b>pointer</b></td></tr> <tr class="separator:a37d30564cc0344b888e6580cf353ea83"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:add57fabd63156a09124792765b77a6ff"><td class="memItemLeft" align="right" valign="top"><a id="add57fabd63156a09124792765b77a6ff"></a> typedef _Reference_type< element_type >::reference </td><td class="memItemRight" valign="bottom"><b>reference</b></td></tr> <tr class="separator:add57fabd63156a09124792765b77a6ff"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ae21bbd62eaebed035b7f005af71d0fe5"><td class="memItemLeft" align="right" valign="top"><a id="ae21bbd62eaebed035b7f005af71d0fe5"></a> typedef <a class="el" href="a10496.html">_Unqualified_type</a>< element_type >::type </td><td class="memItemRight" valign="bottom"><b>value_type</b></td></tr> <tr class="separator:ae21bbd62eaebed035b7f005af71d0fe5"><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:a59661fab8c929961f32a995c7bab0ff9"><td class="memItemLeft" align="right" valign="top"><a id="a59661fab8c929961f32a995c7bab0ff9"></a>  </td><td class="memItemRight" valign="bottom"><b>_Pointer_adapter</b> (element_type *__arg=0)</td></tr> <tr class="separator:a59661fab8c929961f32a995c7bab0ff9"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a26e85e1445782b8687b5ee7983380143"><td class="memItemLeft" align="right" valign="top"><a id="a26e85e1445782b8687b5ee7983380143"></a>  </td><td class="memItemRight" valign="bottom"><b>_Pointer_adapter</b> (const <a class="el" href="a10504.html">_Pointer_adapter</a> &__arg)</td></tr> <tr class="separator:a26e85e1445782b8687b5ee7983380143"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a4a00585214be5f2c318a71eb75b1879f"><td class="memTemplParams" colspan="2"><a id="a4a00585214be5f2c318a71eb75b1879f"></a> template<typename _Up > </td></tr> <tr class="memitem:a4a00585214be5f2c318a71eb75b1879f"><td class="memTemplItemLeft" align="right" valign="top"> </td><td class="memTemplItemRight" valign="bottom"><b>_Pointer_adapter</b> (_Up *__arg)</td></tr> <tr class="separator:a4a00585214be5f2c318a71eb75b1879f"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aefd98a8a25c015dca0596bcf49a460bc"><td class="memTemplParams" colspan="2"><a id="aefd98a8a25c015dca0596bcf49a460bc"></a> template<typename _Up > </td></tr> <tr class="memitem:aefd98a8a25c015dca0596bcf49a460bc"><td class="memTemplItemLeft" align="right" valign="top"> </td><td class="memTemplItemRight" valign="bottom"><b>_Pointer_adapter</b> (const <a class="el" href="a10504.html">_Pointer_adapter</a>< _Up > &__arg)</td></tr> <tr class="separator:aefd98a8a25c015dca0596bcf49a460bc"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a8f9060d86a678d39cc289ca3171c929c"><td class="memItemLeft" align="right" valign="top"><a id="a8f9060d86a678d39cc289ca3171c929c"></a>  </td><td class="memItemRight" valign="bottom"><b>operator __unspecified_bool_type</b> () const</td></tr> <tr class="separator:a8f9060d86a678d39cc289ca3171c929c"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a62253ec03391e6b1af0fe085404e2360"><td class="memItemLeft" align="right" valign="top"><a id="a62253ec03391e6b1af0fe085404e2360"></a> bool </td><td class="memItemRight" valign="bottom"><b>operator!</b> () const</td></tr> <tr class="separator:a62253ec03391e6b1af0fe085404e2360"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a86d0ee02a95a5faa9c2bc99aa2618273"><td class="memItemLeft" align="right" valign="top"><a id="a86d0ee02a95a5faa9c2bc99aa2618273"></a> reference </td><td class="memItemRight" valign="bottom"><b>operator*</b> () const</td></tr> <tr class="separator:a86d0ee02a95a5faa9c2bc99aa2618273"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a43c77521b9d057d9ed553a19a0c9b882"><td class="memItemLeft" align="right" valign="top"><a id="a43c77521b9d057d9ed553a19a0c9b882"></a> <a class="el" href="a10504.html">_Pointer_adapter</a> & </td><td class="memItemRight" valign="bottom"><b>operator++</b> ()</td></tr> <tr class="separator:a43c77521b9d057d9ed553a19a0c9b882"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a5c9d32b617a14a13e7256bf45308938b"><td class="memItemLeft" align="right" valign="top"><a id="a5c9d32b617a14a13e7256bf45308938b"></a> <a class="el" href="a10504.html">_Pointer_adapter</a> </td><td class="memItemRight" valign="bottom"><b>operator++</b> (int)</td></tr> <tr class="separator:a5c9d32b617a14a13e7256bf45308938b"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a6c33de7eedc681ba792ef0b43785b21d"><td class="memItemLeft" align="right" valign="top"><a id="a6c33de7eedc681ba792ef0b43785b21d"></a> <a class="el" href="a10504.html">_Pointer_adapter</a> & </td><td class="memItemRight" valign="bottom"><b>operator+=</b> (short __offset)</td></tr> <tr class="separator:a6c33de7eedc681ba792ef0b43785b21d"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a28c47fdb0520f1177bbffea39e7cb0f2"><td class="memItemLeft" align="right" valign="top"><a id="a28c47fdb0520f1177bbffea39e7cb0f2"></a> <a class="el" href="a10504.html">_Pointer_adapter</a> & </td><td class="memItemRight" valign="bottom"><b>operator+=</b> (unsigned short __offset)</td></tr> <tr class="separator:a28c47fdb0520f1177bbffea39e7cb0f2"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a002567de79edba8c1d3fdd86b42ce010"><td class="memItemLeft" align="right" valign="top"><a id="a002567de79edba8c1d3fdd86b42ce010"></a> <a class="el" href="a10504.html">_Pointer_adapter</a> & </td><td class="memItemRight" valign="bottom"><b>operator+=</b> (int __offset)</td></tr> <tr class="separator:a002567de79edba8c1d3fdd86b42ce010"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a065ce15af57856f8f450c5cabb330acd"><td class="memItemLeft" align="right" valign="top"><a id="a065ce15af57856f8f450c5cabb330acd"></a> <a class="el" href="a10504.html">_Pointer_adapter</a> & </td><td class="memItemRight" valign="bottom"><b>operator+=</b> (unsigned int __offset)</td></tr> <tr class="separator:a065ce15af57856f8f450c5cabb330acd"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a0482db402c1dfeaa78d10ee5fad90957"><td class="memItemLeft" align="right" valign="top"><a id="a0482db402c1dfeaa78d10ee5fad90957"></a> <a class="el" href="a10504.html">_Pointer_adapter</a> & </td><td class="memItemRight" valign="bottom"><b>operator+=</b> (long __offset)</td></tr> <tr class="separator:a0482db402c1dfeaa78d10ee5fad90957"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:af8d60bd64df4e6d5c7c8cde79c2b1f2a"><td class="memItemLeft" align="right" valign="top"><a id="af8d60bd64df4e6d5c7c8cde79c2b1f2a"></a> <a class="el" href="a10504.html">_Pointer_adapter</a> & </td><td class="memItemRight" valign="bottom"><b>operator+=</b> (unsigned long __offset)</td></tr> <tr class="separator:af8d60bd64df4e6d5c7c8cde79c2b1f2a"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a406b4c8f886cbc5902fc10d38b1e7a9a"><td class="memItemLeft" align="right" valign="top"><a id="a406b4c8f886cbc5902fc10d38b1e7a9a"></a> <a class="el" href="a10504.html">_Pointer_adapter</a> & </td><td class="memItemRight" valign="bottom"><b>operator+=</b> (long long __offset)</td></tr> <tr class="separator:a406b4c8f886cbc5902fc10d38b1e7a9a"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aefad88c832768cdf7e7d971e8d90920c"><td class="memItemLeft" align="right" valign="top"><a id="aefad88c832768cdf7e7d971e8d90920c"></a> <a class="el" href="a10504.html">_Pointer_adapter</a> & </td><td class="memItemRight" valign="bottom"><b>operator+=</b> (unsigned long long __offset)</td></tr> <tr class="separator:aefad88c832768cdf7e7d971e8d90920c"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:af65318f12498627a502fbdb1531f31d2"><td class="memTemplParams" colspan="2"><a id="af65318f12498627a502fbdb1531f31d2"></a> template<typename _Up > </td></tr> <tr class="memitem:af65318f12498627a502fbdb1531f31d2"><td class="memTemplItemLeft" align="right" valign="top">std::ptrdiff_t </td><td class="memTemplItemRight" valign="bottom"><b>operator-</b> (const <a class="el" href="a10504.html">_Pointer_adapter</a>< _Up > &__rhs) const</td></tr> <tr class="separator:af65318f12498627a502fbdb1531f31d2"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aba4b78b23a5c80f89b6c18a3c77c3ebe"><td class="memItemLeft" align="right" valign="top"><a id="aba4b78b23a5c80f89b6c18a3c77c3ebe"></a> <a class="el" href="a10504.html">_Pointer_adapter</a> & </td><td class="memItemRight" valign="bottom"><b>operator--</b> ()</td></tr> <tr class="separator:aba4b78b23a5c80f89b6c18a3c77c3ebe"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a7faa5c558e774bea6622942e8ca0db99"><td class="memItemLeft" align="right" valign="top"><a id="a7faa5c558e774bea6622942e8ca0db99"></a> <a class="el" href="a10504.html">_Pointer_adapter</a> </td><td class="memItemRight" valign="bottom"><b>operator--</b> (int)</td></tr> <tr class="separator:a7faa5c558e774bea6622942e8ca0db99"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a414d7df9d6bd067288472af4418d12d7"><td class="memItemLeft" align="right" valign="top"><a id="a414d7df9d6bd067288472af4418d12d7"></a> <a class="el" href="a10504.html">_Pointer_adapter</a> & </td><td class="memItemRight" valign="bottom"><b>operator-=</b> (short __offset)</td></tr> <tr class="separator:a414d7df9d6bd067288472af4418d12d7"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a47084b91ef9ffb3a8c0998230ffe365a"><td class="memItemLeft" align="right" valign="top"><a id="a47084b91ef9ffb3a8c0998230ffe365a"></a> <a class="el" href="a10504.html">_Pointer_adapter</a> & </td><td class="memItemRight" valign="bottom"><b>operator-=</b> (unsigned short __offset)</td></tr> <tr class="separator:a47084b91ef9ffb3a8c0998230ffe365a"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a48d3f741ddcf378c681ad213c9a46f99"><td class="memItemLeft" align="right" valign="top"><a id="a48d3f741ddcf378c681ad213c9a46f99"></a> <a class="el" href="a10504.html">_Pointer_adapter</a> & </td><td class="memItemRight" valign="bottom"><b>operator-=</b> (int __offset)</td></tr> <tr class="separator:a48d3f741ddcf378c681ad213c9a46f99"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a347d02884fc824bc4256d6ec9880c074"><td class="memItemLeft" align="right" valign="top"><a id="a347d02884fc824bc4256d6ec9880c074"></a> <a class="el" href="a10504.html">_Pointer_adapter</a> & </td><td class="memItemRight" valign="bottom"><b>operator-=</b> (unsigned int __offset)</td></tr> <tr class="separator:a347d02884fc824bc4256d6ec9880c074"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a37c2a49cdfff3f034f1005f43867d04a"><td class="memItemLeft" align="right" valign="top"><a id="a37c2a49cdfff3f034f1005f43867d04a"></a> <a class="el" href="a10504.html">_Pointer_adapter</a> & </td><td class="memItemRight" valign="bottom"><b>operator-=</b> (long __offset)</td></tr> <tr class="separator:a37c2a49cdfff3f034f1005f43867d04a"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:af76632a69832b9d7879631806af9e733"><td class="memItemLeft" align="right" valign="top"><a id="af76632a69832b9d7879631806af9e733"></a> <a class="el" href="a10504.html">_Pointer_adapter</a> & </td><td class="memItemRight" valign="bottom"><b>operator-=</b> (unsigned long __offset)</td></tr> <tr class="separator:af76632a69832b9d7879631806af9e733"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a0235314270fae18103bcc6cc3285e84b"><td class="memItemLeft" align="right" valign="top"><a id="a0235314270fae18103bcc6cc3285e84b"></a> <a class="el" href="a10504.html">_Pointer_adapter</a> & </td><td class="memItemRight" valign="bottom"><b>operator-=</b> (long long __offset)</td></tr> <tr class="separator:a0235314270fae18103bcc6cc3285e84b"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a5d365942e95e1569d59ea6504cee86b7"><td class="memItemLeft" align="right" valign="top"><a id="a5d365942e95e1569d59ea6504cee86b7"></a> <a class="el" href="a10504.html">_Pointer_adapter</a> & </td><td class="memItemRight" valign="bottom"><b>operator-=</b> (unsigned long long __offset)</td></tr> <tr class="separator:a5d365942e95e1569d59ea6504cee86b7"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ad18666dcf0934af51f9db6d9b5200c70"><td class="memItemLeft" align="right" valign="top"><a id="ad18666dcf0934af51f9db6d9b5200c70"></a> element_type * </td><td class="memItemRight" valign="bottom"><b>operator-></b> () const</td></tr> <tr class="separator:ad18666dcf0934af51f9db6d9b5200c70"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a9302f1ce937fb7e6f9916669b81ed48e"><td class="memItemLeft" align="right" valign="top"><a id="a9302f1ce937fb7e6f9916669b81ed48e"></a> <a class="el" href="a10504.html">_Pointer_adapter</a> & </td><td class="memItemRight" valign="bottom"><b>operator=</b> (const <a class="el" href="a10504.html">_Pointer_adapter</a> &__arg)</td></tr> <tr class="separator:a9302f1ce937fb7e6f9916669b81ed48e"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a609c4b527d53af5fe252f4d07fc65024"><td class="memTemplParams" colspan="2"><a id="a609c4b527d53af5fe252f4d07fc65024"></a> template<typename _Up > </td></tr> <tr class="memitem:a609c4b527d53af5fe252f4d07fc65024"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="a10504.html">_Pointer_adapter</a> & </td><td class="memTemplItemRight" valign="bottom"><b>operator=</b> (const <a class="el" href="a10504.html">_Pointer_adapter</a>< _Up > &__arg)</td></tr> <tr class="separator:a609c4b527d53af5fe252f4d07fc65024"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aff33e64d7f1f7b921beddb1a9f033785"><td class="memTemplParams" colspan="2"><a id="aff33e64d7f1f7b921beddb1a9f033785"></a> template<typename _Up > </td></tr> <tr class="memitem:aff33e64d7f1f7b921beddb1a9f033785"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="a10504.html">_Pointer_adapter</a> & </td><td class="memTemplItemRight" valign="bottom"><b>operator=</b> (_Up *__arg)</td></tr> <tr class="separator:aff33e64d7f1f7b921beddb1a9f033785"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a1724eeacd6732dbf60bc32e3fbeac21e"><td class="memItemLeft" align="right" valign="top"><a id="a1724eeacd6732dbf60bc32e3fbeac21e"></a> reference </td><td class="memItemRight" valign="bottom"><b>operator[]</b> (std::ptrdiff_t __index) const</td></tr> <tr class="separator:a1724eeacd6732dbf60bc32e3fbeac21e"><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:acde3e1ee91884ae83fa0d2b1fbf73282"><td class="memItemLeft" align="right" valign="top"><a id="acde3e1ee91884ae83fa0d2b1fbf73282"></a> <a class="el" href="a10504.html">_Pointer_adapter</a> </td><td class="memItemRight" valign="bottom"><b>operator+</b> (const <a class="el" href="a10504.html">_Pointer_adapter</a> &__lhs, short __offset)</td></tr> <tr class="separator:acde3e1ee91884ae83fa0d2b1fbf73282"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a5d2cbf1dfe9db55bda49f4cc9f566e48"><td class="memItemLeft" align="right" valign="top"><a id="a5d2cbf1dfe9db55bda49f4cc9f566e48"></a> <a class="el" href="a10504.html">_Pointer_adapter</a> </td><td class="memItemRight" valign="bottom"><b>operator+</b> (short __offset, const <a class="el" href="a10504.html">_Pointer_adapter</a> &__rhs)</td></tr> <tr class="separator:a5d2cbf1dfe9db55bda49f4cc9f566e48"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:abae59f6f62f4f30b1caa6ca04f4cf9ee"><td class="memItemLeft" align="right" valign="top"><a id="abae59f6f62f4f30b1caa6ca04f4cf9ee"></a> <a class="el" href="a10504.html">_Pointer_adapter</a> </td><td class="memItemRight" valign="bottom"><b>operator+</b> (const <a class="el" href="a10504.html">_Pointer_adapter</a> &__lhs, unsigned short __offset)</td></tr> <tr class="separator:abae59f6f62f4f30b1caa6ca04f4cf9ee"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:adc14e4a84d5e5613f1e987e6641e2738"><td class="memItemLeft" align="right" valign="top"><a id="adc14e4a84d5e5613f1e987e6641e2738"></a> <a class="el" href="a10504.html">_Pointer_adapter</a> </td><td class="memItemRight" valign="bottom"><b>operator+</b> (unsigned short __offset, const <a class="el" href="a10504.html">_Pointer_adapter</a> &__rhs)</td></tr> <tr class="separator:adc14e4a84d5e5613f1e987e6641e2738"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:afafddef69674020d6185aa0522930e3c"><td class="memItemLeft" align="right" valign="top"><a id="afafddef69674020d6185aa0522930e3c"></a> <a class="el" href="a10504.html">_Pointer_adapter</a> </td><td class="memItemRight" valign="bottom"><b>operator+</b> (const <a class="el" href="a10504.html">_Pointer_adapter</a> &__lhs, int __offset)</td></tr> <tr class="separator:afafddef69674020d6185aa0522930e3c"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:acdd56531f034aed21041ac0c9c4a83b7"><td class="memItemLeft" align="right" valign="top"><a id="acdd56531f034aed21041ac0c9c4a83b7"></a> <a class="el" href="a10504.html">_Pointer_adapter</a> </td><td class="memItemRight" valign="bottom"><b>operator+</b> (int __offset, const <a class="el" href="a10504.html">_Pointer_adapter</a> &__rhs)</td></tr> <tr class="separator:acdd56531f034aed21041ac0c9c4a83b7"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a648957b1a3ab82e3f9c0c888af76bfd2"><td class="memItemLeft" align="right" valign="top"><a id="a648957b1a3ab82e3f9c0c888af76bfd2"></a> <a class="el" href="a10504.html">_Pointer_adapter</a> </td><td class="memItemRight" valign="bottom"><b>operator+</b> (const <a class="el" href="a10504.html">_Pointer_adapter</a> &__lhs, unsigned int __offset)</td></tr> <tr class="separator:a648957b1a3ab82e3f9c0c888af76bfd2"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ab22a6c77bd221c2a781d313dff6ed2a5"><td class="memItemLeft" align="right" valign="top"><a id="ab22a6c77bd221c2a781d313dff6ed2a5"></a> <a class="el" href="a10504.html">_Pointer_adapter</a> </td><td class="memItemRight" valign="bottom"><b>operator+</b> (unsigned int __offset, const <a class="el" href="a10504.html">_Pointer_adapter</a> &__rhs)</td></tr> <tr class="separator:ab22a6c77bd221c2a781d313dff6ed2a5"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a5addafdcf0bce301de8e0884e7333d7b"><td class="memItemLeft" align="right" valign="top"><a id="a5addafdcf0bce301de8e0884e7333d7b"></a> <a class="el" href="a10504.html">_Pointer_adapter</a> </td><td class="memItemRight" valign="bottom"><b>operator+</b> (const <a class="el" href="a10504.html">_Pointer_adapter</a> &__lhs, long __offset)</td></tr> <tr class="separator:a5addafdcf0bce301de8e0884e7333d7b"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ab830c44ed41a22dd604d9284721e749d"><td class="memItemLeft" align="right" valign="top"><a id="ab830c44ed41a22dd604d9284721e749d"></a> <a class="el" href="a10504.html">_Pointer_adapter</a> </td><td class="memItemRight" valign="bottom"><b>operator+</b> (long __offset, const <a class="el" href="a10504.html">_Pointer_adapter</a> &__rhs)</td></tr> <tr class="separator:ab830c44ed41a22dd604d9284721e749d"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a6c1881e6cffbf2089b10a70a44aae771"><td class="memItemLeft" align="right" valign="top"><a id="a6c1881e6cffbf2089b10a70a44aae771"></a> <a class="el" href="a10504.html">_Pointer_adapter</a> </td><td class="memItemRight" valign="bottom"><b>operator+</b> (const <a class="el" href="a10504.html">_Pointer_adapter</a> &__lhs, unsigned long __offset)</td></tr> <tr class="separator:a6c1881e6cffbf2089b10a70a44aae771"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a6afd18b4c21b03e202cc1af5685f0cc1"><td class="memItemLeft" align="right" valign="top"><a id="a6afd18b4c21b03e202cc1af5685f0cc1"></a> <a class="el" href="a10504.html">_Pointer_adapter</a> </td><td class="memItemRight" valign="bottom"><b>operator+</b> (unsigned long __offset, const <a class="el" href="a10504.html">_Pointer_adapter</a> &__rhs)</td></tr> <tr class="separator:a6afd18b4c21b03e202cc1af5685f0cc1"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ae3eeb622acf67a91309fe31ff789ae93"><td class="memItemLeft" align="right" valign="top"><a id="ae3eeb622acf67a91309fe31ff789ae93"></a> <a class="el" href="a10504.html">_Pointer_adapter</a> </td><td class="memItemRight" valign="bottom"><b>operator+</b> (const <a class="el" href="a10504.html">_Pointer_adapter</a> &__lhs, long long __offset)</td></tr> <tr class="separator:ae3eeb622acf67a91309fe31ff789ae93"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:af1d9673c933265b1baa1c178df2f40ee"><td class="memItemLeft" align="right" valign="top"><a id="af1d9673c933265b1baa1c178df2f40ee"></a> <a class="el" href="a10504.html">_Pointer_adapter</a> </td><td class="memItemRight" valign="bottom"><b>operator+</b> (long long __offset, const <a class="el" href="a10504.html">_Pointer_adapter</a> &__rhs)</td></tr> <tr class="separator:af1d9673c933265b1baa1c178df2f40ee"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a9b0f868f190921639e5700662234914d"><td class="memItemLeft" align="right" valign="top"><a id="a9b0f868f190921639e5700662234914d"></a> <a class="el" href="a10504.html">_Pointer_adapter</a> </td><td class="memItemRight" valign="bottom"><b>operator+</b> (unsigned long long __offset, const <a class="el" href="a10504.html">_Pointer_adapter</a> &__rhs)</td></tr> <tr class="separator:a9b0f868f190921639e5700662234914d"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:af936c845586009f09e1f60d1aa51955b"><td class="memItemLeft" align="right" valign="top"><a id="af936c845586009f09e1f60d1aa51955b"></a> <a class="el" href="a10504.html">_Pointer_adapter</a> </td><td class="memItemRight" valign="bottom"><b>operator+</b> (const <a class="el" href="a10504.html">_Pointer_adapter</a> &__lhs, unsigned long long __offset)</td></tr> <tr class="separator:af936c845586009f09e1f60d1aa51955b"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ae65b167faa13ac2499c4db095da9bfd7"><td class="memItemLeft" align="right" valign="top"><a id="ae65b167faa13ac2499c4db095da9bfd7"></a> std::ptrdiff_t </td><td class="memItemRight" valign="bottom"><b>operator-</b> (const <a class="el" href="a10504.html">_Pointer_adapter</a> &__lhs, element_type *__rhs)</td></tr> <tr class="separator:ae65b167faa13ac2499c4db095da9bfd7"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a227dc90eab7c64799ea6f56cce4b0566"><td class="memItemLeft" align="right" valign="top"><a id="a227dc90eab7c64799ea6f56cce4b0566"></a> std::ptrdiff_t </td><td class="memItemRight" valign="bottom"><b>operator-</b> (element_type *__lhs, const <a class="el" href="a10504.html">_Pointer_adapter</a> &__rhs)</td></tr> <tr class="separator:a227dc90eab7c64799ea6f56cce4b0566"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a04dc5ed0b37cb54d2c5d02bb1b45b9c2"><td class="memTemplParams" colspan="2"><a id="a04dc5ed0b37cb54d2c5d02bb1b45b9c2"></a> template<typename _Up > </td></tr> <tr class="memitem:a04dc5ed0b37cb54d2c5d02bb1b45b9c2"><td class="memTemplItemLeft" align="right" valign="top">std::ptrdiff_t </td><td class="memTemplItemRight" valign="bottom"><b>operator-</b> (const <a class="el" href="a10504.html">_Pointer_adapter</a> &__lhs, _Up *__rhs)</td></tr> <tr class="separator:a04dc5ed0b37cb54d2c5d02bb1b45b9c2"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ac062ba81b0efeda1a9c29f3c70a3116a"><td class="memTemplParams" colspan="2"><a id="ac062ba81b0efeda1a9c29f3c70a3116a"></a> template<typename _Up > </td></tr> <tr class="memitem:ac062ba81b0efeda1a9c29f3c70a3116a"><td class="memTemplItemLeft" align="right" valign="top">std::ptrdiff_t </td><td class="memTemplItemRight" valign="bottom"><b>operator-</b> (_Up *__lhs, const <a class="el" href="a10504.html">_Pointer_adapter</a> &__rhs)</td></tr> <tr class="separator:ac062ba81b0efeda1a9c29f3c70a3116a"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:add2c7a4c046f7e0530dfd78fc0cf6a47"><td class="memItemLeft" align="right" valign="top"><a id="add2c7a4c046f7e0530dfd78fc0cf6a47"></a> <a class="el" href="a10504.html">_Pointer_adapter</a> </td><td class="memItemRight" valign="bottom"><b>operator-</b> (const <a class="el" href="a10504.html">_Pointer_adapter</a> &__lhs, short __offset)</td></tr> <tr class="separator:add2c7a4c046f7e0530dfd78fc0cf6a47"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a793212b00701ea775fe770dc4a4e2c3d"><td class="memItemLeft" align="right" valign="top"><a id="a793212b00701ea775fe770dc4a4e2c3d"></a> <a class="el" href="a10504.html">_Pointer_adapter</a> </td><td class="memItemRight" valign="bottom"><b>operator-</b> (const <a class="el" href="a10504.html">_Pointer_adapter</a> &__lhs, unsigned short __offset)</td></tr> <tr class="separator:a793212b00701ea775fe770dc4a4e2c3d"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a11825311239aaf9470bc956962ae6e8f"><td class="memItemLeft" align="right" valign="top"><a id="a11825311239aaf9470bc956962ae6e8f"></a> <a class="el" href="a10504.html">_Pointer_adapter</a> </td><td class="memItemRight" valign="bottom"><b>operator-</b> (const <a class="el" href="a10504.html">_Pointer_adapter</a> &__lhs, int __offset)</td></tr> <tr class="separator:a11825311239aaf9470bc956962ae6e8f"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ac1d2f09bab9a7c9f7a1f2d8e160f33cf"><td class="memItemLeft" align="right" valign="top"><a id="ac1d2f09bab9a7c9f7a1f2d8e160f33cf"></a> <a class="el" href="a10504.html">_Pointer_adapter</a> </td><td class="memItemRight" valign="bottom"><b>operator-</b> (const <a class="el" href="a10504.html">_Pointer_adapter</a> &__lhs, unsigned int __offset)</td></tr> <tr class="separator:ac1d2f09bab9a7c9f7a1f2d8e160f33cf"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ac23370625def923ae036818b174271e1"><td class="memItemLeft" align="right" valign="top"><a id="ac23370625def923ae036818b174271e1"></a> <a class="el" href="a10504.html">_Pointer_adapter</a> </td><td class="memItemRight" valign="bottom"><b>operator-</b> (const <a class="el" href="a10504.html">_Pointer_adapter</a> &__lhs, long __offset)</td></tr> <tr class="separator:ac23370625def923ae036818b174271e1"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a13713c97a58803448a4737bfa14bdfbe"><td class="memItemLeft" align="right" valign="top"><a id="a13713c97a58803448a4737bfa14bdfbe"></a> <a class="el" href="a10504.html">_Pointer_adapter</a> </td><td class="memItemRight" valign="bottom"><b>operator-</b> (const <a class="el" href="a10504.html">_Pointer_adapter</a> &__lhs, unsigned long __offset)</td></tr> <tr class="separator:a13713c97a58803448a4737bfa14bdfbe"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aab3197481db19bebb1491b5295660c90"><td class="memItemLeft" align="right" valign="top"><a id="aab3197481db19bebb1491b5295660c90"></a> <a class="el" href="a10504.html">_Pointer_adapter</a> </td><td class="memItemRight" valign="bottom"><b>operator-</b> (const <a class="el" href="a10504.html">_Pointer_adapter</a> &__lhs, long long __offset)</td></tr> <tr class="separator:aab3197481db19bebb1491b5295660c90"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ab79e4cd98691bd86498106e0b8736abd"><td class="memItemLeft" align="right" valign="top"><a id="ab79e4cd98691bd86498106e0b8736abd"></a> <a class="el" href="a10504.html">_Pointer_adapter</a> </td><td class="memItemRight" valign="bottom"><b>operator-</b> (const <a class="el" href="a10504.html">_Pointer_adapter</a> &__lhs, unsigned long long __offset)</td></tr> <tr class="separator:ab79e4cd98691bd86498106e0b8736abd"><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 _Storage_policy><br /> class __gnu_cxx::_Pointer_adapter< _Storage_policy ></h3> <p>The following provides an 'alternative pointer' that works with the containers when specified as the pointer typedef of the allocator.</p> <p>The pointer type used with the containers doesn't have to be this class, but it must support the implicit conversions, pointer arithmetic, comparison operators, etc. that are supported by this class, and avoid raising compile-time ambiguities. Because creating a working pointer can be challenging, this pointer template was designed to wrapper an easier storage policy type, so that it becomes reusable for creating other pointer types.</p> <p>A key point of this class is also that it allows container writers to 'assume' Allocator::pointer is a typedef for a normal pointer. This class supports most of the conventions of a true pointer, and can, for instance handle implicit conversion to const and base class pointer types. The only impositions on container writers to support extended pointers are: 1) use the Allocator::pointer typedef appropriately for pointer types. 2) if you need pointer casting, use the __pointer_cast<> functions from ext/cast.h. This allows pointer cast operations to be overloaded as necessary by custom pointers.</p> <p>Note: The const qualifier works with this pointer adapter as follows:</p> <p>_Tp* == _Pointer_adapter<_Std_pointer_impl<_Tp> >; const _Tp* == _Pointer_adapter<_Std_pointer_impl<const _Tp> >; _Tp* const == const _Pointer_adapter<_Std_pointer_impl<_Tp> >; const _Tp* const == const _Pointer_adapter<_Std_pointer_impl<const _Tp> >; </p> <p class="definition">Definition at line <a class="el" href="a01061_source.html#l00281">281</a> of file <a class="el" href="a01061_source.html">pointer.h</a>.</p> </div><hr/>The documentation for this class was generated from the following file:<ul> <li><a class="el" href="a01061_source.html">pointer.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="a01544.html">__gnu_cxx</a></li><li class="navelem"><a class="el" href="a10504.html">_Pointer_adapter</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>