<!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"/> <title>libstdc++: pointer.h File Reference</title> <link href="tabs.css" rel="stylesheet" type="text/css"/> <link href="navtree.css" rel="stylesheet" type="text/css"/> <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript" src="navtree.js"></script> <script type="text/javascript" src="resize.js"></script> <script type="text/javascript"> $(document).ready(initResizable); </script> <link href="doxygen.css" rel="stylesheet" type="text/css"/> </head> <body> <!-- Generated by Doxygen 1.7.4 --> <div id="top"> <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> </div> <div id="side-nav" class="ui-resizable side-nav-resizable"> <div id="nav-tree"> <div id="nav-tree-contents"> </div> </div> <div id="splitbar" style="-moz-user-select:none;" class="ui-resizable-handle"> </div> </div> <script type="text/javascript"> initNavTree('a00975.html',''); </script> <div id="doc-content"> <div class="header"> <div class="summary"> <a href="#nested-classes">Classes</a> | <a href="#namespaces">Namespaces</a> | <a href="#define-members">Defines</a> | <a href="#func-members">Functions</a> </div> <div class="headertitle"> <div class="title">pointer.h File Reference</div> </div> </div> <div class="contents"> <p><a href="a00975_source.html">Go to the source code of this file.</a></p> <h2><a name="nested-classes"></a> Classes</h2> <ul> <li>struct <a class="el" href="a00023.html">__gnu_cxx::_Invalid_type</a> <li>class <a class="el" href="a00024.html">__gnu_cxx::_Pointer_adapter< _Storage_policy ></a> <li>class <a class="el" href="a00025.html">__gnu_cxx::_Relative_pointer_impl< _Tp ></a> <dl class="el"><dd class="mdescRight">A storage policy for use with _Pointer_adapter<> which stores the pointer's address as an offset value which is relative to its own address. <a href="a00025.html#details">More...</a><br/></dl><li>class <a class="el" href="a00026.html">__gnu_cxx::_Relative_pointer_impl< const _Tp ></a> <li>class <a class="el" href="a00027.html">__gnu_cxx::_Std_pointer_impl< _Tp ></a> <dl class="el"><dd class="mdescRight">A storage policy for use with _Pointer_adapter<> which yields a standard pointer. <a href="a00027.html#details">More...</a><br/></dl><li>struct <a class="el" href="a00028.html">__gnu_cxx::_Unqualified_type< _Tp ></a> </ul> <h2><a name="namespaces"></a> Namespaces</h2> <ul> <li>namespace <a class="el" href="a01125.html">__gnu_cxx</a> </ul> <h2><a name="define-members"></a> Defines</h2> <ul> <li><a class="anchor" id="a8d41d2781519e91873229221c2f5f683"></a><!-- doxytag: member="pointer.h::_CXX_POINTER_ARITH_OPERATOR_SET" ref="a8d41d2781519e91873229221c2f5f683" args="(INT_TYPE)" --> #define <b>_CXX_POINTER_ARITH_OPERATOR_SET</b>(INT_TYPE) <li><a class="anchor" id="a1cf0d2def959ccc9d191e9cb0352f715"></a><!-- doxytag: member="pointer.h::_GCC_CXX_POINTER_COMPARISON_OPERATION_SET" ref="a1cf0d2def959ccc9d191e9cb0352f715" args="(OPERATOR)" --> #define <b>_GCC_CXX_POINTER_COMPARISON_OPERATION_SET</b>(OPERATOR) </ul> <h2><a name="func-members"></a> Functions</h2> <ul> <li><a class="anchor" id="af4e48f808d39b2eb50fbe663a792f7f1"></a><!-- doxytag: member="pointer.h::operator!=" ref="af4e48f808d39b2eb50fbe663a792f7f1" args="(const _Pointer_adapter< _Tp1 > &__lhs, _Tp2 __rhs)" --> template<typename _Tp1 , typename _Tp2 > bool <b>__gnu_cxx::operator!=</b> (const _Pointer_adapter< _Tp1 > &__lhs, _Tp2 __rhs) <li><a class="anchor" id="ad6695d031d0ba277552318fcf958aebd"></a><!-- doxytag: member="pointer.h::operator!=" ref="ad6695d031d0ba277552318fcf958aebd" args="(_Tp1 __lhs, const _Pointer_adapter< _Tp2 > &__rhs)" --> template<typename _Tp1 , typename _Tp2 > bool <b>__gnu_cxx::operator!=</b> (_Tp1 __lhs, const _Pointer_adapter< _Tp2 > &__rhs) <li><a class="anchor" id="ae0751303343f63a7ffe41b6ebde112e3"></a><!-- doxytag: member="pointer.h::operator!=" ref="ae0751303343f63a7ffe41b6ebde112e3" args="(const _Pointer_adapter< _Tp > &__lhs, int __rhs)" --> template<typename _Tp > bool <b>__gnu_cxx::operator!=</b> (const _Pointer_adapter< _Tp > &__lhs, int __rhs) <li><a class="anchor" id="a8e1d56417eeccc8f3ae24fb158f38397"></a><!-- doxytag: member="pointer.h::operator!=" ref="a8e1d56417eeccc8f3ae24fb158f38397" args="(int __lhs, const _Pointer_adapter< _Tp > &__rhs)" --> template<typename _Tp > bool <b>__gnu_cxx::operator!=</b> (int __lhs, const _Pointer_adapter< _Tp > &__rhs) <li><a class="anchor" id="a887db21c62b6ee9082c2a6907229bf98"></a><!-- doxytag: member="pointer.h::operator!=" ref="a887db21c62b6ee9082c2a6907229bf98" args="(const _Pointer_adapter< _Tp1 > &__lhs, const _Pointer_adapter< _Tp2 > &__rhs)" --> template<typename _Tp1 , typename _Tp2 > bool <b>__gnu_cxx::operator!=</b> (const _Pointer_adapter< _Tp1 > &__lhs, const _Pointer_adapter< _Tp2 > &__rhs) <li><a class="anchor" id="aa5d9764004ff476aa24c3dd968d04152"></a><!-- doxytag: member="pointer.h::operator!=" ref="aa5d9764004ff476aa24c3dd968d04152" args="(const _Pointer_adapter< _Tp > &__lhs, const _Pointer_adapter< _Tp > &__rhs)" --> template<typename _Tp > bool <b>__gnu_cxx::operator!=</b> (const _Pointer_adapter< _Tp > &__lhs, const _Pointer_adapter< _Tp > &__rhs) <li><a class="anchor" id="aefb9fa942a09a52f698b90eb5977eb49"></a><!-- doxytag: member="pointer.h::operator<" ref="aefb9fa942a09a52f698b90eb5977eb49" args="(_Tp1 __lhs, const _Pointer_adapter< _Tp2 > &__rhs)" --> template<typename _Tp1 , typename _Tp2 > bool <b>__gnu_cxx::operator<</b> (_Tp1 __lhs, const _Pointer_adapter< _Tp2 > &__rhs) <li><a class="anchor" id="a35cdc46e3f2a747de55ef8b9beb0076e"></a><!-- doxytag: member="pointer.h::operator<" ref="a35cdc46e3f2a747de55ef8b9beb0076e" args="(const _Pointer_adapter< _Tp1 > &__lhs, const _Pointer_adapter< _Tp2 > &__rhs)" --> template<typename _Tp1 , typename _Tp2 > bool <b>__gnu_cxx::operator<</b> (const _Pointer_adapter< _Tp1 > &__lhs, const _Pointer_adapter< _Tp2 > &__rhs) <li><a class="anchor" id="adf30d040eefb95201fd78e1a40973741"></a><!-- doxytag: member="pointer.h::operator<" ref="adf30d040eefb95201fd78e1a40973741" args="(const _Pointer_adapter< _Tp1 > &__lhs, _Tp2 __rhs)" --> template<typename _Tp1 , typename _Tp2 > bool <b>__gnu_cxx::operator<</b> (const _Pointer_adapter< _Tp1 > &__lhs, _Tp2 __rhs) <li><a class="anchor" id="a47ece44ee2a8d188b4f01d43a22684dd"></a><!-- doxytag: member="pointer.h::operator<<" ref="a47ece44ee2a8d188b4f01d43a22684dd" args="(std::basic_ostream< _CharT, _Traits > &__os, const _Pointer_adapter< _StoreT > &__p)" --> template<typename _CharT , typename _Traits , typename _StoreT > <a class="el" href="a00251.html">std::basic_ostream</a>< _CharT, <br class="typebreak"/> _Traits > & <b>__gnu_cxx::operator<<</b> (<a class="el" href="a00251.html">std::basic_ostream</a>< _CharT, _Traits > &__os, const _Pointer_adapter< _StoreT > &__p) <li><a class="anchor" id="a42cb556c0dbdb3360b47db559a5663b4"></a><!-- doxytag: member="pointer.h::operator<=" ref="a42cb556c0dbdb3360b47db559a5663b4" args="(const _Pointer_adapter< _Tp1 > &__lhs, _Tp2 __rhs)" --> template<typename _Tp1 , typename _Tp2 > bool <b>__gnu_cxx::operator<=</b> (const _Pointer_adapter< _Tp1 > &__lhs, _Tp2 __rhs) <li><a class="anchor" id="aed56cd38628d45ba95c9869c1363961c"></a><!-- doxytag: member="pointer.h::operator<=" ref="aed56cd38628d45ba95c9869c1363961c" args="(_Tp1 __lhs, const _Pointer_adapter< _Tp2 > &__rhs)" --> template<typename _Tp1 , typename _Tp2 > bool <b>__gnu_cxx::operator<=</b> (_Tp1 __lhs, const _Pointer_adapter< _Tp2 > &__rhs) <li><a class="anchor" id="aa88e4c213b6981aa1567479421eb44ec"></a><!-- doxytag: member="pointer.h::operator<=" ref="aa88e4c213b6981aa1567479421eb44ec" args="(const _Pointer_adapter< _Tp > &__lhs, const _Pointer_adapter< _Tp > &__rhs)" --> template<typename _Tp > bool <b>__gnu_cxx::operator<=</b> (const _Pointer_adapter< _Tp > &__lhs, const _Pointer_adapter< _Tp > &__rhs) <li><a class="anchor" id="a5c400cc8ed6ff34841349ecd1039fc3f"></a><!-- doxytag: member="pointer.h::operator<=" ref="a5c400cc8ed6ff34841349ecd1039fc3f" args="(const _Pointer_adapter< _Tp1 > &__lhs, const _Pointer_adapter< _Tp2 > &__rhs)" --> template<typename _Tp1 , typename _Tp2 > bool <b>__gnu_cxx::operator<=</b> (const _Pointer_adapter< _Tp1 > &__lhs, const _Pointer_adapter< _Tp2 > &__rhs) <li>template<typename _Tp > bool <a class="el" href="a01125.html#aad6444b4b1a3c086e02b32d82fffbf64">__gnu_cxx::operator==</a> (const _Pointer_adapter< _Tp > &__lhs, const _Pointer_adapter< _Tp > &__rhs) <li><a class="anchor" id="ad13b1e7379b753c6f5e42371b4cb231a"></a><!-- doxytag: member="pointer.h::operator==" ref="ad13b1e7379b753c6f5e42371b4cb231a" args="(_Tp1 __lhs, const _Pointer_adapter< _Tp2 > &__rhs)" --> template<typename _Tp1 , typename _Tp2 > bool <b>__gnu_cxx::operator==</b> (_Tp1 __lhs, const _Pointer_adapter< _Tp2 > &__rhs) <li><a class="anchor" id="af0fbf7b886d38c0edb8d736fb7c979d8"></a><!-- doxytag: member="pointer.h::operator==" ref="af0fbf7b886d38c0edb8d736fb7c979d8" args="(const _Pointer_adapter< _Tp > &__lhs, int __rhs)" --> template<typename _Tp > bool <b>__gnu_cxx::operator==</b> (const _Pointer_adapter< _Tp > &__lhs, int __rhs) <li><a class="anchor" id="a17d03aaf0cc56b5383575469297eb19b"></a><!-- doxytag: member="pointer.h::operator==" ref="a17d03aaf0cc56b5383575469297eb19b" args="(int __lhs, const _Pointer_adapter< _Tp > &__rhs)" --> template<typename _Tp > bool <b>__gnu_cxx::operator==</b> (int __lhs, const _Pointer_adapter< _Tp > &__rhs) <li><a class="anchor" id="adc0c8b76a7549c8d116814a886038cee"></a><!-- doxytag: member="pointer.h::operator==" ref="adc0c8b76a7549c8d116814a886038cee" args="(const _Pointer_adapter< _Tp1 > &__lhs, _Tp2 __rhs)" --> template<typename _Tp1 , typename _Tp2 > bool <b>__gnu_cxx::operator==</b> (const _Pointer_adapter< _Tp1 > &__lhs, _Tp2 __rhs) <li><a class="anchor" id="a02f02502db66df2b34a836b2f6216f30"></a><!-- doxytag: member="pointer.h::operator==" ref="a02f02502db66df2b34a836b2f6216f30" args="(const _Pointer_adapter< _Tp1 > &__lhs, const _Pointer_adapter< _Tp2 > &__rhs)" --> template<typename _Tp1 , typename _Tp2 > bool <b>__gnu_cxx::operator==</b> (const _Pointer_adapter< _Tp1 > &__lhs, const _Pointer_adapter< _Tp2 > &__rhs) <li><a class="anchor" id="a20f5546c8e31d8aed02dac8161f665d7"></a><!-- doxytag: member="pointer.h::operator>" ref="a20f5546c8e31d8aed02dac8161f665d7" args="(const _Pointer_adapter< _Tp1 > &__lhs, const _Pointer_adapter< _Tp2 > &__rhs)" --> template<typename _Tp1 , typename _Tp2 > bool <b>__gnu_cxx::operator></b> (const _Pointer_adapter< _Tp1 > &__lhs, const _Pointer_adapter< _Tp2 > &__rhs) <li><a class="anchor" id="a2a1f7b23ede556746fbfa1f92c9a94ae"></a><!-- doxytag: member="pointer.h::operator>" ref="a2a1f7b23ede556746fbfa1f92c9a94ae" args="(const _Pointer_adapter< _Tp > &__lhs, const _Pointer_adapter< _Tp > &__rhs)" --> template<typename _Tp > bool <b>__gnu_cxx::operator></b> (const _Pointer_adapter< _Tp > &__lhs, const _Pointer_adapter< _Tp > &__rhs) <li><a class="anchor" id="a9db5b492d2f91e38af6999ca849a8e67"></a><!-- doxytag: member="pointer.h::operator>" ref="a9db5b492d2f91e38af6999ca849a8e67" args="(_Tp1 __lhs, const _Pointer_adapter< _Tp2 > &__rhs)" --> template<typename _Tp1 , typename _Tp2 > bool <b>__gnu_cxx::operator></b> (_Tp1 __lhs, const _Pointer_adapter< _Tp2 > &__rhs) <li><a class="anchor" id="a97bd6f6d49277db6cf1141d2a9aab6e9"></a><!-- doxytag: member="pointer.h::operator>" ref="a97bd6f6d49277db6cf1141d2a9aab6e9" args="(const _Pointer_adapter< _Tp1 > &__lhs, _Tp2 __rhs)" --> template<typename _Tp1 , typename _Tp2 > bool <b>__gnu_cxx::operator></b> (const _Pointer_adapter< _Tp1 > &__lhs, _Tp2 __rhs) <li><a class="anchor" id="a5044751ca8196cf7c8fed95311fa95db"></a><!-- doxytag: member="pointer.h::operator>=" ref="a5044751ca8196cf7c8fed95311fa95db" args="(const _Pointer_adapter< _Tp1 > &__lhs, _Tp2 __rhs)" --> template<typename _Tp1 , typename _Tp2 > bool <b>__gnu_cxx::operator>=</b> (const _Pointer_adapter< _Tp1 > &__lhs, _Tp2 __rhs) <li><a class="anchor" id="a1c78aca1d1b251908e406ac39ee70d4a"></a><!-- doxytag: member="pointer.h::operator>=" ref="a1c78aca1d1b251908e406ac39ee70d4a" args="(const _Pointer_adapter< _Tp > &__lhs, const _Pointer_adapter< _Tp > &__rhs)" --> template<typename _Tp > bool <b>__gnu_cxx::operator>=</b> (const _Pointer_adapter< _Tp > &__lhs, const _Pointer_adapter< _Tp > &__rhs) <li><a class="anchor" id="a81e40deeef6f783d2e2928361d4572ca"></a><!-- doxytag: member="pointer.h::operator>=" ref="a81e40deeef6f783d2e2928361d4572ca" args="(_Tp1 __lhs, const _Pointer_adapter< _Tp2 > &__rhs)" --> template<typename _Tp1 , typename _Tp2 > bool <b>__gnu_cxx::operator>=</b> (_Tp1 __lhs, const _Pointer_adapter< _Tp2 > &__rhs) <li><a class="anchor" id="acd2dc3cd5696c7bd44fc4de6baa28d69"></a><!-- doxytag: member="pointer.h::operator>=" ref="acd2dc3cd5696c7bd44fc4de6baa28d69" args="(const _Pointer_adapter< _Tp1 > &__lhs, const _Pointer_adapter< _Tp2 > &__rhs)" --> template<typename _Tp1 , typename _Tp2 > bool <b>__gnu_cxx::operator>=</b> (const _Pointer_adapter< _Tp1 > &__lhs, const _Pointer_adapter< _Tp2 > &__rhs) </ul> <hr/><a name="details" id="details"></a><h2>Detailed Description</h2> <div class="textblock"><p>This file is a GNU extension to the Standard C++ Library.</p> <dl class="author"><dt><b>Author:</b></dt><dd>Bob Walters</dd></dl> <p>Provides reusable _Pointer_adapter for assisting in the development of custom pointer types that can be used with the standard containers via the allocator::pointer and allocator::const_pointer typedefs. </p> <p>Definition in file <a class="el" href="a00975_source.html">pointer.h</a>.</p> </div></div> </div> <div id="nav-path" class="navpath"> <ul> <li class="navelem"><a class="el" href="a00975.html">pointer.h</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.7.4 </li> </ul> </div> </body> </html>