diff options
| -rw-r--r-- | libstdc++-v3/ChangeLog | 3 | ||||
| -rw-r--r-- | libstdc++-v3/docs/html/faq/index.html | 28 | 
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><sys/stat.h></code>, <code><X11/Xlib.h></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__ < 3 +        #include <hash_map.h> +        namespace Sgi { using ::hash_map; }; // inherit globals +      #else +        #include <ext/hash_map> +        #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<int,int> 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> | 
