aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonathan Wakely <redi@gcc.gnu.org>2002-11-28 19:15:04 +0000
committerJonathan Wakely <redi@gcc.gnu.org>2002-11-28 19:15:04 +0000
commitfbc3fee390d24b22182eb4535fb3667faa40a72d (patch)
tree44b6e98bf416f7e72c9ff66df216241557193477
parent7957fde4e8d6657c68541f099803762795575cda (diff)
downloadgcc-fbc3fee390d24b22182eb4535fb3667faa40a72d.zip
gcc-fbc3fee390d24b22182eb4535fb3667faa40a72d.tar.gz
gcc-fbc3fee390d24b22182eb4535fb3667faa40a72d.tar.bz2
index.html: Add tip about namespace for extensions.
2002-11-28 Jonathan Wakely <redi@gcc.gnu.org> * docs/html/faq/index.html: Add tip about namespace for extensions. From-SVN: r59613
-rw-r--r--libstdc++-v3/ChangeLog3
-rw-r--r--libstdc++-v3/docs/html/faq/index.html28
2 files changed, 31 insertions, 0 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index b18948e..5efdd97 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,3 +1,6 @@
+2002-11-28 Jonathan Wakely <redi@gcc.gnu.org>
+ * docs/html/faq/index.html: Add tip about a namespace for extensions.
+
2002-11-28 Paolo Carlini <pcarlini@unitus.it>
Nathan Myers <ncm@cantrip.org>
diff --git a/libstdc++-v3/docs/html/faq/index.html b/libstdc++-v3/docs/html/faq/index.html
index f7a9b0a..f472bfc 100644
--- a/libstdc++-v3/docs/html/faq/index.html
+++ b/libstdc++-v3/docs/html/faq/index.html
@@ -877,6 +877,34 @@ http://clisp.cons.org/~haible/gccinclude-glibc-2.2-compat.diff
that of other headers whose directories are not searched directly,
e.g., <code>&lt;sys/stat.h&gt;</code>, <code>&lt;X11/Xlib.h&gt;</code>.
</p>
+
+ <p>The extensions are no longer in the global or <code>std</code>
+ namespaces, instead they are declared in the <code>__gnu_cxx</code>
+ namespace. For maximum portability, consider defining a namespace
+ alias to use to talk about extensions, e.g.:
+ </p>
+ <pre>
+ #ifdef __GNUC__
+ #if __GNUC__ &lt; 3
+ #include &lt;hash_map.h&gt;
+ namespace Sgi { using ::hash_map; }; // inherit globals
+ #else
+ #include &lt;ext/hash_map&gt;
+ #if __GNUC_MINOR__ == 0
+ namespace Sgi = std; // GCC 3.0
+ #else
+ namespace Sgi = ::__gnu_cxx; // GCC 3.1 and later
+ #endif
+ #endif
+ #else // ... there are other compilers, right?
+ namespace Sgi = std;
+ #endif
+
+ Sgi::hash_map&lt;int,int&gt; my_map; </pre>
+ <p>This is a bit cleaner than defining typedefs for all the
+ instantiations you might need.
+ </p>
+
<p>Extensions to the library have
<a href="../ext/howto.html">their own page</a>.
</p>