[libstdc++] Lots and lots of doc patches

Phil Edwards pedwards@dmapub.dma.org
Mon Jan 28 14:12:00 GMT 2002



This patch is entirely documentation-related.

For those of you still reading :-) the major changes are:

    - doxygen can regenerate its config files to provide updated comments
      and variables.  We do that here.  (It seems to have removed trailing
      spaces from many lines, thus the large size and "do-nothing" diffs.)

    - differences between user.cfg.in and maint.cfg.in were pulled out into
      the run_doxygen script using autoconf-style variables.  Now we only
      need one config file, so maint.cfg.in goes away.

    - instead of scanning the source directories, we scan (primarily) the
      build directory's staging include tree.  This gets us sane header
      names, and is mostly fallout from the various recent header renames.

    - the @file blurb attached to each header needed updating after the
      renames.

    - new make target:  doxygen-man
      After changes to the run_doxygen script, the top-level make targets
      are now more useful (they don't clobber each other).

    - a few misc updates to other docs:  more notes, typo and spacing fixes

Been tested nightly for the last week on i686-linux and powerpc-eabisim.
Committed to trunk.


2002-01-28  Phil Edwards  <pme@gcc.gnu.org>

	* Makefile.am (doxygen, doxygen-maint, doxygen-man):  Tweak targets.
	* Makefile.in:  Regenerate.

	* docs/doxygen/run_doxygen:  Update, mostly for man pages.
	* docs/doxygen/Intro.3:  Update.
	* docs/doxygen/TODO:  Update.
	* docs/doxygen/doxygroups.cc:  Add namespace hook for __gnu_cxx.
	* docs/doxygen/mainpage.doxy:  Update.
	* docs/doxygen/user.cfg.in:  Update for header rename.  Also
	regenerate comments and variables with 1.2.12.
	* docs/doxygen/maint.cfg.in:  Remove file.

	* include/bits/stl_relops.h:  Doxygenate.
	* include/bits/stl_tempbuf.h (std::_Temporary_buffer):  Likewise.

	* include/c_std/std_cassert.h, include/c_std/std_cctype.h,
	include/c_std/std_cerrno.h, include/c_std/std_cfloat.h,
	include/c_std/std_ciso646.h, include/c_std/std_climits.h,
	include/c_std/std_clocale.h, include/c_std/std_cmath.h,
	include/c_std/std_csetjmp.h, include/c_std/std_csignal.h,
	include/c_std/std_cstdarg.h, include/c_std/std_cstddef.h,
	include/c_std/std_cstdio.h, include/c_std/std_cstdlib.h,
	include/c_std/std_cstring.h, include/c_std/std_ctime.h,
	include/c_std/std_cwchar.h, include/c_std/std_cwctype.h,
	include/ext/algorithm, include/ext/functional, include/ext/hash_map,
	include/ext/hash_set, include/ext/iterator, include/ext/memory,
	include/ext/numeric, include/ext/rb_tree, include/ext/rope,
	include/ext/ropeimpl.h, include/ext/slist, include/ext/stl_hash_fun.h,
	include/ext/stl_hashtable.h, include/ext/stl_rope.h,
	include/std/std_algorithm.h, include/std/std_bitset.h,
	include/std/std_complex.h, include/std/std_deque.h,
	include/std/std_fstream.h, include/std/std_functional.h,
	include/std/std_iomanip.h, include/std/std_ios.h,
	include/std/std_iosfwd.h, include/std/std_iostream.h,
	include/std/std_istream.h, include/std/std_iterator.h,
	include/std/std_limits.h, include/std/std_list.h,
	include/std/std_locale.h, include/std/std_map.h,
	include/std/std_memory.h, include/std/std_numeric.h,
	include/std/std_ostream.h, include/std/std_queue.h,
	include/std/std_set.h, include/std/std_sstream.h,
	include/std/std_stack.h, include/std/std_stdexcept.h,
	include/std/std_streambuf.h, include/std/std_string.h,
	include/std/std_utility.h, include/std/std_valarray.h,
	include/std/std_vector.h:  Add/correct @file doxygen hook.

	* include/ext/memory:  Doxygenate most of rest of file.
	* libsupc++/exception:  Doxygen output formatting.
	* libsupc++/new:  Say which header it is.

	* testsuite/lib/libstdc++-v3-dg.exp:  Fix spacing.
	* docs/html/19_diagnostics/howto.html:  Describe concept-checks switch.
	* docs/html/23_containers/howto.html:  Describe O(n) list::size().
	* docs/html/27_io/howto.html:  Also link to Langer and Kreft text.


Index: Makefile.am
===================================================================
RCS file: /cvs/gcc/gcc/libstdc++-v3/Makefile.am,v
retrieving revision 1.28
diff -u -3 -p -r1.28 Makefile.am
--- Makefile.am	2001/11/24 03:28:25	1.28
+++ Makefile.am	2002/01/28 21:59:15
@@ -1,6 +1,7 @@
 ## Makefile for the toplevel directory of the GNU C++ Standard library.
 ##
-## Copyright (C) 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
+## Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002
+## Free Software Foundation, Inc.
 ##
 ## This file is part of the libstdc++ version 3 distribution.
 ## Process this file with automake to produce Makefile.in.
@@ -43,20 +44,26 @@ check-script-install: $(top_builddir)/mk
 	  cd testsuite; \
 	  @glibcpp_builddir@/mkcheck 1)
 
-# These two rules might seem messy, but are hella worth it.
+# These rules are messy, but are hella worth it.
 doxygen:
 	-(srcdir=`cd ${top_srcdir}; pwd`; \
-	  outdir=`pwd`; \
+	  builddir=`pwd`; \
 	  /bin/sh ${srcdir}/docs/doxygen/run_doxygen \
-	            --mode=user $${srcdir} $${outdir})
+	            --mode=user $${srcdir} $${builddir})
 
 doxygen-maint:
 	-(srcdir=`cd ${top_srcdir}; pwd`; \
-	  outdir=`pwd`; \
+	  builddir=`pwd`; \
 	  /bin/sh ${srcdir}/docs/doxygen/run_doxygen \
-	            --mode=maint $${srcdir} $${outdir})
+	            --mode=maint $${srcdir} $${builddir})
 
-.PHONY: doxygen doxygen-maint
+doxygen-man:
+	-(srcdir=`cd ${top_srcdir}; pwd`; \
+	  builddir=`pwd`; \
+	  /bin/sh ${srcdir}/docs/doxygen/run_doxygen \
+	            --mode=man $${srcdir} $${builddir})
+
+.PHONY: doxygen doxygen-maint doxygen-man
 
 # Multilib support.
 MAKEOVERRIDES=
Index: docs/doxygen/Intro.3
===================================================================
RCS file: /cvs/gcc/gcc/libstdc++-v3/docs/doxygen/Intro.3,v
retrieving revision 1.5
diff -u -3 -p -r1.5 Intro.3
--- Intro.3	2001/12/19 21:57:39	1.5
+++ Intro.3	2002/01/28 21:59:26
@@ -22,11 +22,12 @@ All the man pages are automatically gene
 information on this tool, see the HTML counterpart to these man pages.
 .P
 Some man pages do not correspond to individual classes or functions.  Rather
-they describe categories of the Standard Library.  (For a more thourough
-introduction to the various categories, consult a textbook such as Josuttis'
+they describe categories of the Standard Library.  (For a more thorough
+introduction to the various categories, consult a text such as Josuttis'
 or Austern's.)  These category pages are:
 .P
 .\" These are separated by ONE TAB.  Nothing else.  I don't like it either.
+.\" Keep them alphabatized.
 .TS
 lB l.
 Allocators	Classes encapsulating memory allocation schemes.
@@ -38,6 +39,7 @@ Containers	An introduction to container 
 Func_ptr_functors	Functors for use with pointers to functions.
 Intro	This page.
 Intro_functors	An introduction to function objects, or functors.
+Iterator_types	Programatically distinguishing iterators/pointers.
 Logical_functors	Functors wrapping the Boolean operations.
 Member_ptr_functor	Functors for use with pointers to members.
 Namespace_Std	A listing of the contents of std::.
@@ -89,12 +91,13 @@ lB lB lB lB.
 These headers will only be found automatically if you include the leading
 .B ext/
 in the name.  Otherwise you need to read FAQ 5.4.
+.\" Easy way to generate these columns of headers is to use GNU ls(1):
+.\" ls -w 40 file1 file2... | sed 's=[a-z_][a-z_]*=<ext/&>=g'
 .TS
 lB.
-<ext/hash_map>
-<ext/hash_set>
-<ext/rope>
-<ext/slist>
+<ext/algorithm>   <ext/hash_set>  <ext/numeric>  <ext/slist>
+<ext/functional>  <ext/iterator>  <ext/rb_tree>
+<ext/hash_map>    <ext/memory>    <ext/rope>
 .TE
 .SS Libraries
 .TP
Index: docs/doxygen/TODO
===================================================================
RCS file: /cvs/gcc/gcc/libstdc++-v3/docs/doxygen/TODO,v
retrieving revision 1.2
diff -u -3 -p -r1.2 TODO
--- TODO	2001/12/19 21:57:39	1.2
+++ TODO	2002/01/28 21:59:26
@@ -1,7 +1,7 @@
 
 The approach I've been using for a given header is to recursively do each
 of the "bits" headers which make up the standard header.  So, e.g., while
-there are five headers making up <algorithm>, three of them were already
+there are four headers making up <algorithm>, three of them were already
 documented in the course of doing other headers.
 
 "Untouched" means I've deliberately skipped it for various reasons, or
@@ -14,23 +14,21 @@ haven't gotten to it yet.  It /will/ be 
 c17             FINISHED (Nothing in Clause 17 "exists" in terms of code.)
 c18             <limits>, Note A
 c19             Note A
-c20             rel_ops (should they be doc'd?), Note A
+c20             Note A
 c21             Untouched, Note B
 c22             Untouched
 c23             See doxygroups.cc and Note B.
-                stl_alloc.h, stl_uninitialized.h remain from the common files.
 c24             Untouched
-c25             stl_tempbuf.h (small), stl_algo.h (big)
+c25             stl_algo.h (lots of stuff)
 c26             <complex>, <valarray>, stl_numeric.h[26.4], Note A
 c27             Untouched
 
 backward/       Not scanned by doxygen.  Should it be?
 
-ext/            Untouched
+ext/            Some of the SGI algorithm/functional extensions.
+                All of rope/hashing/slist need docs.
 
-__gnu_cxx       Extensions such as verbose_terminate_handler are documented
-                but do not appear in output, since the __gnu_cxx namespace is
-                itself undocumented.  Should it be?  Eeeeeeehhh...
+__gnu_cxx       Tricky.
 
 [1.3.5]         "implementation-defined behavior:  behavior ... that depends
                 on the implementation *and that each implementation shall
@@ -43,10 +41,21 @@ __gnu_cxx       Extensions such as verbo
 NOTES:
 
 A)  So far I have not tried to document any of the <c*> headers.  So entities
-such as atexit() are undocumented throughout the library.
+such as atexit() are undocumented throughout the library.  Since we usually
+do not have the C code (to which the doxygen comments would be attached),
+this would need to be done in entirely separate files, a la doxygroups.cc.
 
 B)  Huge chunks of containers and strings are described in common "Tables"
 in the standard.  How to reproduce this information?
+
+
+
+STYLE:
+stl_deque.h, stl_pair.h, and stl_algobase.h have good examples of what I've
+been using for class, namespace-scope, and function documentation, respectively.
+These should serve as starting points.  /Please/ maintain the inter-word and
+inter-sentence spacing, as this might be generated and/or scanned in the
+future.
 
 
 vim:ts=4:et:
Index: docs/doxygen/doxygroups.cc
===================================================================
RCS file: /cvs/gcc/gcc/libstdc++-v3/docs/doxygen/doxygroups.cc,v
retrieving revision 1.5
diff -u -3 -p -r1.5 doxygroups.cc
--- doxygroups.cc	2001/12/28 22:23:53	1.5
+++ doxygroups.cc	2002/01/28 21:59:26
@@ -10,8 +10,17 @@
 
 // // // // // // // // // // // // // // // // // // // // // // // //
 /** @namespace std
- *  @brief Everything defined by the ISO C++ Standard is within namespace
- *  std.
+ *  @brief Everything defined by the ISO C++ Standard is within namespace std.
+*/
+/** @namespace __gnu_cxx
+ *  @brief Non-standard things.
+ *
+ *  This namespace is used for
+ *  -  sequestering internal (implementation-only) names away from the
+ *     global namespace
+ *  -  GNU extensions
+ *
+ *  This is still fluid and changing rapidly.
 */
 
 // // // // // // // // // // // // // // // // // // // // // // // //
Index: docs/doxygen/mainpage.doxy
===================================================================
RCS file: /cvs/gcc/gcc/libstdc++-v3/docs/doxygen/mainpage.doxy,v
retrieving revision 1.3
diff -u -3 -p -r1.3 mainpage.doxy
--- mainpage.doxy	2001/11/02 17:38:10	1.3
+++ mainpage.doxy	2002/01/28 21:59:26
@@ -33,7 +33,7 @@
 <p>The libstdc++-v3 configuration files needed to generate doxygen output
    are located:
    <ul><li><code>docs/doxygen/user.cfg.in</code>
-       <li><code>docs/doxygen/maint.cfg.in</code>
+       <li><code>docs/doxygen/run_doxygen</code>
    </ul>
 </p>
 
Index: docs/doxygen/run_doxygen
===================================================================
RCS file: /cvs/gcc/gcc/libstdc++-v3/docs/doxygen/run_doxygen,v
retrieving revision 1.11
diff -u -3 -p -r1.11 run_doxygen
--- run_doxygen	2001/12/19 21:57:39	1.11
+++ run_doxygen	2002/01/28 21:59:26
@@ -2,13 +2,13 @@
 
 # Runs doxygen and massages the output files.
 #
-# Synopsis:  run_doxygen --mode=[user|maint]  v3srcdir  v3builddir
+# Synopsis:  run_doxygen --mode=[user|maint|man]  v3srcdir  v3builddir
 #
 # Originally hacked together by Phil Edwards <pme@gcc.gnu.org>
 
 
 # We can check now that the version of doxygen is >= this variable.
-DOXYVER=1.2.10
+DOXYVER=1.2.12
 doxygen=
 
 find_doxygen() {
@@ -39,11 +39,12 @@ find_doxygen() {
 
 print_usage() {
     cat 1>&2 <<EOF
-Usage:  run_doxygen --mode=MODE [<options>] <src-dir> <output-dir>
+Usage:  run_doxygen --mode=MODE [<options>] <v3-src-dir> <v3-build-dir>
       MODE is one of:
-          maint          Generate maintainers' documentation (lots more;
+          user           Generate user-level HTML library documentation.
+          maint          Generate maintainers' HTML documentation (lots more;
                              exposes non-public members, etc).
-          user           Generate user-level library documentation.
+          man            Generate user-level man pages.
 
       more options when i think of them
 
@@ -74,6 +75,7 @@ parse_options() {
         if test $srcdir = unset; then
           srcdir=$o
         elif test $outdir = unset; then
+          builddir=${o}
           outdir=${o}/docs/doxygen
         else
           echo run_doxygen error:  Too many arguments 1>&2
@@ -89,6 +91,9 @@ parse_options() {
 mode=unset
 srcdir=unset
 outdir=unset
+do_html=no
+do_man=no
+enabled_sections=
 
 parse_options $*
 find_doxygen
@@ -100,35 +105,65 @@ if test $srcdir = unset || test $outdir 
 fi
 
 case x"$mode" in
-    xuser | xmaint)  ;;  # ochen khorosho
+    xuser)           do_html=yes
+                     ;;
+    xmaint)          do_html=yes
+                     enabled_sections=maint
+                     ;;
+    xman)            do_man=yes
+                     ;;
     *)
       echo run_doxygen error:  $mode is an invalid mode 1>&2
       exit 1 ;;
 esac
 
-rm -rf $outdir
+#rm -rf $outdir
 mkdir -p $outdir
 chmod u+w $outdir
+
+# work around a stupid doxygen bug
+test $do_man = yes && {
+    mkdir -p $outdir/man/man3/ext
+    chmod -R u+w $outdir/man/man3/ext
+}
+
+set -e
 (
   set -e
-  cd $srcdir
+  cd $builddir
   sed -e "s=@outdir@=${outdir}=" \
       -e "s=@srcdir@=${srcdir}=" \
-      docs/doxygen/${mode}.cfg.in > ${outdir}/${mode}.cfg
+      -e "s=@html_output_dir@=html_${mode}=" \
+      -e "s=@enabled_sections@=${enabled_sections}=" \
+      -e "s=@do_html@=${do_html}=" \
+      -e "s=@do_man@=${do_man}=" \
+      ${srcdir}/docs/doxygen/user.cfg.in > ${outdir}/${mode}.cfg
   echo :: NOTE that this may take some time...
   echo $doxygen ${outdir}/${mode}.cfg
   $doxygen ${outdir}/${mode}.cfg
   echo :: Finished, exit code was $?
 )
+set +e
 
+test $do_html = yes && {
+    echo ::
+    echo :: HTML pages begin with
+    echo :: ${outdir}/html_${mode}/index.html
+}
+
 # Mess with the man pages.  We don't need documentation of the internal
 # headers, since the man pages for those contain nothing useful anyhow.  The
 # man pages for doxygen modules need to be renamed (or deleted).  And the
 # generated #include lines need to be changed from the internal names to the
 # standard ones (e.g., "#include <stl_tempbuf.h>" -> "#include <memory>").
-cd $outdir/man/man3 && {
+test $do_man = yes && {
+echo ::
 echo :: Fixing up the man pages...
+cd $outdir/man/man3
 
+# here's the other end of the "stupid doxygen bug" mentioned above
+rm -rf ext
+
 # File names with embedded spaces (EVIL!) need to be....?  renamed or removed?
 find . -name "* *" -print0 | xargs -0 rm        # requires GNU tools
 
@@ -142,10 +177,16 @@ mv s20_3_6_binder.3         Binder_funct
 mv s20_3_7_adaptors.3       Func_ptr_functors.3
 mv s20_3_8_memadaptors.3    Member_ptr_functors.3
 mv std.3                    Namespace_Std.3
+mv iterator_tags.3          Iterator_types.3
 
-# man pages are for functions/types/other entities, not source files directly
+# man pages are for functions/types/other entities, not source files
+# directly.  who the heck would type "man foo.h" anyhow?
 find . -name "[a-z]*" -a ! -name "std_*" -print | xargs rm
 rm -f *.h.3 *config* *.cc.3 *.tcc.3
+rm -f *_t.3  # workaround doxygen template parsing bug for now
+#mkdir trash  # this is used to examine what we would have deleted
+#find . -name "[a-z]*" -a ! -name "std_*" -print | xargs -i mv {} trash
+#mv *.h.3 *config* *.cc.3 *.tcc.3 *_t.3  trash
 
 # Standardize the displayed header names.  If anyone who knows perl cares
 # enough to rewrite all this, feel free.  This only gets run once a century,
@@ -179,14 +220,11 @@ done
 
 cp ${srcdir}/docs/doxygen/Intro.3 .
 
+echo ::
+echo :: Man pages in ${outdir}/man
 }
 
 # all done
-echo ::
-echo :: Doxygen output begins with
-echo :: ${outdir}/html_${mode}/index.html
-echo ::
-echo :: Man pages in ${outdir}/man
 echo ::
 
 exit 0
Index: docs/doxygen/user.cfg.in
===================================================================
RCS file: /cvs/gcc/gcc/libstdc++-v3/docs/doxygen/user.cfg.in,v
retrieving revision 1.11
diff -u -3 -p -r1.11 user.cfg.in
--- user.cfg.in	2001/11/24 10:46:50	1.11
+++ user.cfg.in	2002/01/28 21:59:26
@@ -1,6 +1,7 @@
-# Doxyfile 1.2.6
+# Doxyfile 1.2.12
 
-# This file describes the settings to be used by doxygen for a project
+# This file describes the settings to be used by the documentation system
+# doxygen (www.doxygen.org) for a project
 #
 # All text after a hash (#) is considered a comment and will be ignored
 # The format is:
@@ -9,16 +10,19 @@
 #       TAG += value [value, ...]
 # Values that contain spaces should be placed between quotes (" ")
 
-### When doxygen is run, the current directory is the top of
-### the libstdc++-v3 source directory.  Keep this in mind while
-### writing relative-path directories.
+### When doxygen is run, the current directory is the top of the
+### libstdc++-v3 build directory.  Keep this in mind while writing
+### relative-path directories.
+###
+### Currently this is not really run through autoconf; it just looks that way.
+
 
 #---------------------------------------------------------------------------
 # General configuration options
 #---------------------------------------------------------------------------
 
 # The PROJECT_NAME tag is a single word (or a sequence of words surrounded 
-# by quotes) that should identify the project. 
+# by quotes) that should identify the project.
 
 PROJECT_NAME           = "libstdc++-v3 Source"
 
@@ -32,34 +36,33 @@ PROJECT_NUMBER         = 
 # base path where the generated documentation will be put. 
 # If a relative path is entered, it will be relative to the location 
 # where doxygen was started. If left blank the current directory will be used.
-### Currently this is not really run through autoconf; it just looks that way.
+
 OUTPUT_DIRECTORY       = @outdir@
 
 # The OUTPUT_LANGUAGE tag is used to specify the language in which all 
 # documentation generated by doxygen is written. Doxygen will use this 
 # information to generate all constant output in the proper language. 
 # The default language is English, other supported languages are: 
-# Dutch, French, Italian, Czech, Swedish, German, Finnish, Japanese, 
-# Korean, Hungarian, Norwegian, Spanish, Romanian, Russian, Croatian, 
-# Polish, Portuguese and Slovene.
+# Brazilian, Chinese, Croatian, Czech, Danish, Dutch, Finnish, French, 
+# German, Hungarian, Italian, Japanese, Korean, Norwegian, Polish, 
+# Portuguese, Romanian, Russian, Slovak, Slovene, Spanish and Swedish.
 
 OUTPUT_LANGUAGE        = English
 
 # If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in 
 # documentation are documented, even if no documentation was available. 
 # Private class members and static file members will be hidden unless 
-# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES 
+# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES
 
 EXTRACT_ALL            = NO
-#EXTRACT_ALL            = YES
 
 # If the EXTRACT_PRIVATE tag is set to YES all private members of a class 
-# will be included in the documentation. 
+# will be included in the documentation.
 
 EXTRACT_PRIVATE        = YES
 
 # If the EXTRACT_STATIC tag is set to YES all static members of a file 
-# will be included in the documentation. 
+# will be included in the documentation.
 
 EXTRACT_STATIC         = YES
 
@@ -67,40 +70,40 @@ EXTRACT_STATIC         = YES
 # undocumented members of documented classes, files or namespaces. 
 # If set to NO (the default) these members will be included in the 
 # various overviews, but no documentation section is generated. 
-# This option has no effect if EXTRACT_ALL is enabled. 
+# This option has no effect if EXTRACT_ALL is enabled.
 
 HIDE_UNDOC_MEMBERS     = YES
 
 # If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all 
 # undocumented classes that are normally visible in the class hierarchy. 
 # If set to NO (the default) these class will be included in the various 
-# overviews. This option has no effect if EXTRACT_ALL is enabled. 
+# overviews. This option has no effect if EXTRACT_ALL is enabled.
 
 HIDE_UNDOC_CLASSES     = YES
 
 # If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will 
 # include brief member descriptions after the members that are listed in 
 # the file and class documentation (similar to JavaDoc). 
-# Set to NO to disable this. 
+# Set to NO to disable this.
 
 BRIEF_MEMBER_DESC      = YES
 
 # If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend 
 # the brief description of a member or function before the detailed description. 
 # Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the 
-# brief descriptions will be completely suppressed. 
+# brief descriptions will be completely suppressed.
 
 REPEAT_BRIEF           = YES
 
 # If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then 
 # Doxygen will generate a detailed section even if there is only a brief 
-# description. 
+# description.
 
-ALWAYS_DETAILED_SEC    = NO
+ALWAYS_DETAILED_SEC    = YES
 
 # If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full 
 # path before files name in the file list and in the header files. If set 
-# to NO the shortest path that makes the file name unique will be used. 
+# to NO the shortest path that makes the file name unique will be used.
 
 FULL_PATH_NAMES        = NO
 
@@ -114,29 +117,13 @@ STRIP_FROM_PATH        = 
 # The INTERNAL_DOCS tag determines if documentation 
 # that is typed after a \internal command is included. If the tag is set 
 # to NO (the default) then the documentation will be excluded. 
-# Set it to YES to include the internal documentation. 
+# Set it to YES to include the internal documentation.
 
 INTERNAL_DOCS          = NO
 
-# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will 
-# generate a class diagram (in Html and LaTeX) for classes with base or 
-# super classes. Setting the tag to NO turns the diagrams off. 
-
-CLASS_DIAGRAMS         = YES
-
-# If the SOURCE_BROWSER tag is set to YES then a list of source files will 
-# be generated. Documented entities will be cross-referenced with these sources.
-
-SOURCE_BROWSER         = YES
-
-# Setting the INLINE_SOURCES tag to YES will include the body 
-# of functions and classes directly in the documentation. 
-
-INLINE_SOURCES         = NO
-
 # Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct 
 # doxygen to hide any special comment blocks from generated source code 
-# fragments. Normal C and C++ comments will always remain visible. 
+# fragments. Normal C and C++ comments will always remain visible.
 
 STRIP_CODE_COMMENTS    = YES
 
@@ -148,21 +135,27 @@ STRIP_CODE_COMMENTS    = YES
 
 CASE_SENSE_NAMES       = NO
 
+# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter 
+# (but less readable) file names. This can be useful is your file systems 
+# doesn't support long names like on DOS, Mac, or CD-ROM.
+
+SHORT_NAMES            = NO
+
 # If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen 
 # will show members with their full class and namespace scopes in the 
-# documentation. If set to YES the scope will be hidden. 
+# documentation. If set to YES the scope will be hidden.
 
 HIDE_SCOPE_NAMES       = NO
 
 # If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen 
 # will generate a verbatim copy of the header file for each class for 
-# which an include is specified. Set to NO to disable this. 
+# which an include is specified. Set to NO to disable this.
 
 VERBATIM_HEADERS       = NO
 
 # If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen 
 # will put list of the files that are included by a file in the documentation 
-# of that file. 
+# of that file.
 
 SHOW_INCLUDE_FILES     = YES
 
@@ -170,25 +163,25 @@ SHOW_INCLUDE_FILES     = YES
 # will interpret the first line (until the first dot) of a JavaDoc-style 
 # comment as the brief description. If set to NO, the JavaDoc 
 # comments  will behave just like the Qt-style comments (thus requiring an 
-# explict @brief command for a brief description. 
+# explict @brief command for a brief description.
 
 JAVADOC_AUTOBRIEF      = NO
 
 # If the INHERIT_DOCS tag is set to YES (the default) then an undocumented 
 # member inherits the documentation from any documented member that it 
-# reimplements. 
+# reimplements.
 
 INHERIT_DOCS           = YES
 
 # If the INLINE_INFO tag is set to YES (the default) then a tag [inline] 
-# is inserted in the documentation for inline members. 
+# is inserted in the documentation for inline members.
 
 INLINE_INFO            = YES
 
 # If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen 
 # will sort the (detailed) documentation of file and class members 
 # alphabetically by member name. If set to NO the members will appear in 
-# declaration order. 
+# declaration order.
 
 SORT_MEMBER_DOCS       = YES
 
@@ -200,15 +193,10 @@ SORT_MEMBER_DOCS       = YES
 DISTRIBUTE_GROUP_DOC   = YES
 
 # The TAB_SIZE tag can be used to set the number of spaces in a tab. 
-# Doxygen uses this value to replace tabs by spaces in code fragments. 
+# Doxygen uses this value to replace tabs by spaces in code fragments.
 
 TAB_SIZE               = 4
 
-# The ENABLE_SECTIONS tag can be used to enable conditional 
-# documentation sections, marked by \if sectionname ... \endif. 
-
-ENABLED_SECTIONS       = 
-
 # The GENERATE_TODOLIST tag can be used to enable (YES) or 
 # disable (NO) the todo list. This list is created by putting \todo 
 # commands in the documentation.
@@ -232,31 +220,36 @@ GENERATE_BUGLIST       = YES
 # For example adding "sideeffect=\par Side Effects:\n" will allow you to 
 # put the command \sideeffect (or @sideeffect) in the documentation, which 
 # will result in a user defined paragraph with heading "Side Effects:". 
-# You can put \n's in the value part of an alias to insert newlines. 
+# You can put \n's in the value part of an alias to insert newlines.
+
+ALIASES                = "maint=@if maint" \
+                         "endmaint=@endif"
 
-ALIASES                = "maint=\if maint" \
-                         "endmaint=\endif"
+# The ENABLED_SECTIONS tag can be used to enable conditional 
+# documentation sections, marked by \if sectionname ... \endif.
 
+ENABLED_SECTIONS       = @enabled_sections@
+
 # The MAX_INITIALIZER_LINES tag determines the maximum number of lines 
 # the initial value of a variable or define consist of for it to appear in 
 # the documentation. If the initializer consists of more lines than specified 
 # here it will be hidden. Use a value of 0 to hide initializers completely. 
 # The appearance of the initializer of individual variables and defines in the 
 # documentation can be controlled using \showinitializer or \hideinitializer 
-# command in the documentation regardless of this setting. 
+# command in the documentation regardless of this setting.
 
 MAX_INITIALIZER_LINES  = 30
 
-# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C sources
+# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C sources 
 # only. Doxygen will then generate output that is more tailored for C. 
 # For instance some of the names that are used will be different. The list 
-# of all members will be omitted, etc. 
+# of all members will be omitted, etc.
 
 OPTIMIZE_OUTPUT_FOR_C  = NO
 
 # Set the SHOW_USED_FILES tag to NO to disable the list of files generated 
 # at the bottom of the documentation of classes and structs. If set to YES the 
-# list will mention the files that were used to generate the documentation. 
+# list will mention the files that were used to generate the documentation.
 
 SHOW_USED_FILES        = YES
 
@@ -265,32 +258,32 @@ SHOW_USED_FILES        = YES
 #---------------------------------------------------------------------------
 
 # The QUIET tag can be used to turn on/off the messages that are generated 
-# by doxygen. Possible values are YES and NO. If left blank NO is used. 
+# by doxygen. Possible values are YES and NO. If left blank NO is used.
 
 QUIET                  = YES
 
 # The WARNINGS tag can be used to turn on/off the warning messages that are 
 # generated by doxygen. Possible values are YES and NO. If left blank 
-# NO is used. 
+# NO is used.
 
 WARNINGS               = NO
 
 # If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings 
 # for undocumented members. If EXTRACT_ALL is set to YES then this flag will 
-# automatically be disabled. 
+# automatically be disabled.
 
 WARN_IF_UNDOCUMENTED   = YES
 
 # The WARN_FORMAT tag determines the format of the warning messages that 
 # doxygen can produce. The string should contain the $file, $line, and $text 
 # tags, which will be replaced by the file and line number from which the 
-# warning originated and the warning text. 
+# warning originated and the warning text.
 
 WARN_FORMAT            = "$file:$line: $text"
 
 # The WARN_LOGFILE tag can be used to specify a file to which warning 
 # and error messages should be written. If left blank the output is written 
-# to stderr. 
+# to stderr.
 
 WARN_LOGFILE           = 
 
@@ -298,78 +291,72 @@ WARN_LOGFILE           = 
 # configuration options related to the input files
 #---------------------------------------------------------------------------
 
-# The INPUT tag can be used to specify the files and/or directories that contain
+# The INPUT tag can be used to specify the files and/or directories that contain 
 # documented source files. You may enter file names like "myfile.cpp" or 
 # directories like "/usr/src/myproject". Separate the files or directories 
-# with spaces. 
+# with spaces.
+
+INPUT                  = @srcdir@/docs/doxygen/mainpage.doxy \
+                         @srcdir@/docs/doxygen/doxygroups.cc \
+                         @srcdir@/src \
+                         @srcdir@/libsupc++/exception \
+                         @srcdir@/libsupc++/new \
+                         @srcdir@/libsupc++/typeinfo \
+                         include
 
-INPUT                  = docs/doxygen \
-                         libsupc++ \
-                         include \
-                         src \
-libsupc++/exception libsupc++/new libsupc++/typeinfo include/ext/hash_map \
-include/ext/hash_set include/ext/rope include/ext/slist include/std/algorithm \
-include/std/bitset include/std/cassert include/std/cctype \
-include/std/cerrno include/std/cfloat include/std/ciso646 include/std/climits \
-include/std/clocale include/std/cmath include/std/complex include/std/csetjmp \
-include/std/csignal include/std/cstdarg include/std/cstddef \
-include/std/cstdio include/std/cstdlib include/std/cstring \
-include/std/ctime include/std/cwchar include/std/cwctype include/std/deque \
-include/std/fstream include/std/functional include/std/iomanip \
-include/std/ios include/std/iosfwd include/std/iostream include/std/istream \
-include/std/iterator include/std/limits include/std/list include/std/locale \
-include/std/map include/std/memory include/std/numeric include/std/ostream \
-include/std/queue include/std/set include/std/sstream include/std/stack \
-include/std/stdexcept include/std/streambuf include/std/string \
-include/std/utility include/std/valarray include/std/vector
 
+
 # If the value of the INPUT tag contains directories, you can use the 
 # FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp 
 # and *.h) to filter out the source-files in the directories. If left 
-# blank all files are included. 
+# blank file matching one of the following patterns are included: 
+# *.c *.cc *.cxx *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx *.hpp 
+# *.h++ *.idl
 
-FILE_PATTERNS          = *.doxy \
-                         *.cc \
-                         *.tcc \
-                         *.h \
-                         c++config
+FILE_PATTERNS          = *
 
 # The RECURSIVE tag can be used to turn specify whether or not subdirectories 
 # should be searched for input files as well. Possible values are YES and NO. 
-# If left blank NO is used. 
+# If left blank NO is used.
 
 RECURSIVE              = YES
 
 # The EXCLUDE tag can be used to specify files and/or directories that should 
 # excluded from the INPUT source files. This way you can easily exclude a 
-# subdirectory from a directory tree whose root is specified with the INPUT tag. 
+# subdirectory from a directory tree whose root is specified with the INPUT tag.
 
-EXCLUDE                = include/c \
-                         include/c_shadow \
-                         docs/doxygen/stdheader.cc
+EXCLUDE                = Makefile
 
 # If the value of the INPUT tag contains directories, you can use the 
 # EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude 
-# certain files from those directories. 
+# certain files from those directories.
 
-EXCLUDE_PATTERNS       = CVS
+EXCLUDE_PATTERNS       = CVS \
+                         stamp-*
 
 # The EXAMPLE_PATH tag can be used to specify one or more files or 
 # directories that contain example code fragments that are included (see 
-# the \include command). 
+# the \include command).
 
 EXAMPLE_PATH           = 
 
 # If the value of the EXAMPLE_PATH tag contains directories, you can use the 
 # EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp 
 # and *.h) to filter out the source-files in the directories. If left 
-# blank all files are included. 
+# blank all files are included.
 
 EXAMPLE_PATTERNS       = 
 
+# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be 
+# searched for input files to be used with the \include or \dontinclude 
+# commands irrespective of the value of the RECURSIVE tag. 
+# Possible values are YES and NO. If left blank NO is used.
+
+EXAMPLE_RECURSIVE      = NO
+
 # The IMAGE_PATH tag can be used to specify one or more files or 
 # directories that contain image that are included in the documentation (see 
-# the \image command). 
+# the \image command).
 
 IMAGE_PATH             = 
 
@@ -378,36 +365,62 @@ IMAGE_PATH             = 
 # by executing (via popen()) the command <filter> <input-file>, where <filter> 
 # is the value of the INPUT_FILTER tag, and <input-file> is the name of an 
 # input file. Doxygen will then use the output that the filter program writes 
-# to standard output. 
+# to standard output.
 
 INPUT_FILTER           = 
 
 # If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using 
 # INPUT_FILTER) will be used to filter the input files when producing source 
-# files to browse. 
+# files to browse.
 
 FILTER_SOURCE_FILES    = NO
 
 #---------------------------------------------------------------------------
+# configuration options related to source browsing
+#---------------------------------------------------------------------------
+
+# If the SOURCE_BROWSER tag is set to YES then a list of source files will 
+# be generated. Documented entities will be cross-referenced with these sources.
+
+SOURCE_BROWSER         = YES
+
+# Setting the INLINE_SOURCES tag to YES will include the body 
+# of functions and classes directly in the documentation.
+
+INLINE_SOURCES         = NO
+
+# If the REFERENCED_BY_RELATION tag is set to YES (the default) 
+# then for each documented function all documented 
+# functions referencing it will be listed.
+
+REFERENCED_BY_RELATION = YES
+
+# If the REFERENCES_RELATION tag is set to YES (the default) 
+# then for each documented function all documented entities 
+# called/used by that function will be listed.
+
+REFERENCES_RELATION    = YES
+
+#---------------------------------------------------------------------------
 # configuration options related to the alphabetical class index
 #---------------------------------------------------------------------------
 
 # If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index 
 # of all compounds will be generated. Enable this if the project 
-# contains a lot of classes, structs, unions or interfaces. 
+# contains a lot of classes, structs, unions or interfaces.
 
 ALPHABETICAL_INDEX     = YES
 
 # If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then 
 # the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns 
-# in which this list will be split (can be a number in the range [1..20]) 
+# in which this list will be split (can be a number in the range [1..20])
 
 COLS_IN_ALPHA_INDEX    = 5
 
 # In case all classes in a project start with a common prefix, all 
 # classes will be put under the same header in the alphabetical index. 
 # The IGNORE_PREFIX tag can be used to specify one or more prefixes that 
-# should be ignored while generating the index headers. 
+# should be ignored while generating the index headers.
 
 IGNORE_PREFIX          = 
 
@@ -416,15 +429,15 @@ IGNORE_PREFIX          = 
 #---------------------------------------------------------------------------
 
 # If the GENERATE_HTML tag is set to YES (the default) Doxygen will 
-# generate HTML output. 
+# generate HTML output.
 
-GENERATE_HTML          = YES
+GENERATE_HTML          = @do_html@
 
 # The HTML_OUTPUT tag is used to specify where the HTML docs will be put. 
 # If a relative path is entered the value of OUTPUT_DIRECTORY will be 
-# put in front of it. If left blank `html' will be used as the default path. 
+# put in front of it. If left blank `html' will be used as the default path.
 
-HTML_OUTPUT            = html_user
+HTML_OUTPUT            = @html_output_dir@
 
 # The HTML_HEADER tag can be used to specify a personal HTML header for 
 # each generated HTML page. If it is left blank doxygen will generate a 
@@ -441,20 +454,20 @@ HTML_FOOTER            = 
 # The HTML_STYLESHEET tag can be used to specify a user defined cascading 
 # style sheet that is used by each HTML page. It can be used to 
 # fine-tune the look of the HTML output. If the tag is left blank doxygen 
-# will generate a default style sheet 
+# will generate a default style sheet
 
-HTML_STYLESHEET        = docs/doxygen/style.css
+HTML_STYLESHEET        = @srcdir@/docs/doxygen/style.css
 
 # If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes, 
 # files or namespaces will be aligned in HTML using tables. If set to 
-# NO a bullet list will be used. 
+# NO a bullet list will be used.
 
 HTML_ALIGN_MEMBERS     = YES
 
 # If the GENERATE_HTMLHELP tag is set to YES, additional index files 
 # will be generated that can be used as input for tools like the 
 # Microsoft HTML help workshop to generate a compressed HTML help file (.chm) 
-# of the generated HTML documentation. 
+# of the generated HTML documentation.
 
 GENERATE_HTMLHELP      = NO
 
@@ -470,33 +483,35 @@ GENERATE_CHI           = NO
 
 BINARY_TOC             = NO
 
-# The TOC_EXPAND flag can be set YES to add extra items for group members 
-# to the contents of the Html help documentation and to the tree view. 
+# The TOC_EXPAND flag can be set to YES to add extra items for group members 
+# to the contents of the Html help documentation and to the tree view.
 
 TOC_EXPAND             = NO
 
 # The DISABLE_INDEX tag can be used to turn on/off the condensed index at 
 # top of each HTML page. The value NO (the default) enables the index and 
-# the value YES disables it. 
+# the value YES disables it.
 
 DISABLE_INDEX          = YES
 
 # This tag can be used to set the number of enum values (range [1..20]) 
-# that doxygen will group on one line in the generated HTML documentation. 
+# that doxygen will group on one line in the generated HTML documentation.
 
 ENUM_VALUES_PER_LINE   = 4
 
 # If the GENERATE_TREEVIEW tag is set to YES, a side panel will be
 # generated containing a tree-like index structure (just like the one that 
 # is generated for HTML Help). For this to work a browser that supports 
-# JavaScript and frames is required (for instance Netscape 4.0+ 
-# or Internet explorer 4.0+). 
+# JavaScript and frames is required (for instance Mozilla, Netscape 4.0+, 
+# or Internet explorer 4.0+). Note that for large projects the tree generation 
+# can take a very long time. In such cases it is better to disable this feature. 
+# Windows users are probably better off using the HTML help feature.
 
 GENERATE_TREEVIEW      = NO
 
 # If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be 
 # used to set the initial width (in pixels) of the frame in which the tree 
-# is shown. 
+# is shown.
 
 TREEVIEW_WIDTH         = 250
 
@@ -505,57 +520,57 @@ TREEVIEW_WIDTH         = 250
 #---------------------------------------------------------------------------
 
 # If the GENERATE_LATEX tag is set to YES (the default) Doxygen will 
-# generate Latex output. 
+# generate Latex output.
 
 GENERATE_LATEX         = NO
 
 # The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. 
 # If a relative path is entered the value of OUTPUT_DIRECTORY will be 
-# put in front of it. If left blank `latex' will be used as the default path. 
+# put in front of it. If left blank `latex' will be used as the default path.
 
 LATEX_OUTPUT           = latex
 
 # If the COMPACT_LATEX tag is set to YES Doxygen generates more compact 
 # LaTeX documents. This may be useful for small projects and may help to 
-# save some trees in general. 
+# save some trees in general.
 
 COMPACT_LATEX          = NO
 
 # The PAPER_TYPE tag can be used to set the paper type that is used 
 # by the printer. Possible values are: a4, a4wide, letter, legal and 
-# executive. If left blank a4wide will be used. 
+# executive. If left blank a4wide will be used.
 
 PAPER_TYPE             = letter
 
 # The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX 
-# packages that should be included in the LaTeX output. 
+# packages that should be included in the LaTeX output.
 
 EXTRA_PACKAGES         = 
 
 # The LATEX_HEADER tag can be used to specify a personal LaTeX header for 
 # the generated latex document. The header should contain everything until 
 # the first chapter. If it is left blank doxygen will generate a 
-# standard header. Notice: only use this tag if you know what you are doing! 
+# standard header. Notice: only use this tag if you know what you are doing!
 
 LATEX_HEADER           = 
 
 # If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated 
 # is prepared for conversion to pdf (using ps2pdf). The pdf file will 
 # contain links (just like the HTML output) instead of page references 
-# This makes the output suitable for online browsing using a pdf viewer. 
+# This makes the output suitable for online browsing using a pdf viewer.
 
 PDF_HYPERLINKS         = NO
 
 # If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of 
 # plain latex in the generated Makefile. Set this option to YES to get a 
-# higher quality PDF documentation. 
+# higher quality PDF documentation.
 
 USE_PDFLATEX           = NO
 
 # If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode. 
 # command to the generated LaTeX files. This will instruct LaTeX to keep 
 # running if errors occur, instead of asking the user for help. 
-# This option is also used when generating formulas in HTML. 
+# This option is also used when generating formulas in HTML.
 
 LATEX_BATCHMODE        = NO
 
@@ -571,89 +586,114 @@ GENERATE_RTF           = NO
 
 # The RTF_OUTPUT tag is used to specify where the RTF docs will be put. 
 # If a relative path is entered the value of OUTPUT_DIRECTORY will be 
-# put in front of it. If left blank `rtf' will be used as the default path. 
+# put in front of it. If left blank `rtf' will be used as the default path.
 
 RTF_OUTPUT             = rtf
 
 # If the COMPACT_RTF tag is set to YES Doxygen generates more compact 
 # RTF documents. This may be useful for small projects and may help to 
-# save some trees in general. 
+# save some trees in general.
 
 COMPACT_RTF            = NO
 
 # If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated 
 # will contain hyperlink fields. The RTF file will 
 # contain links (just like the HTML output) instead of page references. 
-# This makes the output suitable for online browsing using a WORD or other. 
+# This makes the output suitable for online browsing using WORD or other 
 # programs which support those fields. 
-# Note: wordpad (write) and others do not support links. 
+# Note: wordpad (write) and others do not support links.
 
 RTF_HYPERLINKS         = NO
 
 # Load stylesheet definitions from file. Syntax is similar to doxygen's 
 # config file, i.e. a series of assigments. You only have to provide 
-# replacements, missing definitions are set to their default value. 
+# replacements, missing definitions are set to their default value.
 
 RTF_STYLESHEET_FILE    = 
 
+# Set optional variables used in the generation of an rtf document. 
+# Syntax is similar to doxygen's config file.
+
+RTF_EXTENSIONS_FILE    = 
+
 #---------------------------------------------------------------------------
 # configuration options related to the man page output
 #---------------------------------------------------------------------------
 
 # If the GENERATE_MAN tag is set to YES (the default) Doxygen will 
-# generate man pages 
+# generate man pages
 
-GENERATE_MAN           = YES
+GENERATE_MAN           = @do_man@
 
 # The MAN_OUTPUT tag is used to specify where the man pages will be put. 
 # If a relative path is entered the value of OUTPUT_DIRECTORY will be 
-# put in front of it. If left blank `man' will be used as the default path. 
+# put in front of it. If left blank `man' will be used as the default path.
 
 MAN_OUTPUT             = man
 
 # The MAN_EXTENSION tag determines the extension that is added to 
-# the generated man pages (default is the subroutine's section .3) 
+# the generated man pages (default is the subroutine's section .3)
 
 MAN_EXTENSION          = .3
 
+# If the MAN_LINKS tag is set to YES and Doxygen generates man output,
+# then it will generate one additional man file for each entity
+# documented in the real man page(s). These additional files
+# only source the real man page, but without them the man command
+# would be unable to find the correct page. The default is NO.
+
+MAN_LINKS              = NO
+
 #---------------------------------------------------------------------------
+# configuration options related to the XML output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_XML tag is set to YES Doxygen will 
+# generate an XML file that captures the structure of 
+# the code including all documentation. Note that this 
+# feature is still experimental and incomplete at the 
+# moment.
+
+GENERATE_XML           = NO
+
+#---------------------------------------------------------------------------
 # Configuration options related to the preprocessor   
 #---------------------------------------------------------------------------
 
 # If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will 
 # evaluate all C-preprocessor directives found in the sources and include 
-# files. 
+# files.
 
 ENABLE_PREPROCESSING   = YES
 
 # If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro 
 # names in the source code. If set to NO (the default) only conditional 
 # compilation will be performed. Macro expansion can be done in a controlled 
-# way by setting EXPAND_ONLY_PREDEF to YES. 
+# way by setting EXPAND_ONLY_PREDEF to YES.
 
 MACRO_EXPANSION        = NO
 
 # If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES 
 # then the macro expansion is limited to the macros specified with the 
-# PREDEFINED and EXPAND_AS_PREDEFINED tags. 
+# PREDEFINED and EXPAND_AS_PREDEFINED tags.
 
 EXPAND_ONLY_PREDEF     = NO
 
 # If the SEARCH_INCLUDES tag is set to YES (the default) the includes files 
-# in the INCLUDE_PATH (see below) will be search if a #include is found. 
+# in the INCLUDE_PATH (see below) will be search if a #include is found.
 
 SEARCH_INCLUDES        = YES
 
 # The INCLUDE_PATH tag can be used to specify one or more directories that 
 # contain include files that are not input files but should be processed by 
-# the preprocessor. 
+# the preprocessor.
 
 INCLUDE_PATH           = 
 
 # You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard 
 # patterns (like *.h and *.hpp) to filter out the header-files in the 
 # directories. If left blank, the patterns specified with FILE_PATTERNS will 
-# be used. 
+# be used.
 
 INCLUDE_FILE_PATTERNS  = 
 
@@ -661,38 +701,45 @@ INCLUDE_FILE_PATTERNS  = 
 # are defined before the preprocessor is started (similar to the -D option of 
 # gcc). The argument of the tag is a list of macros of the form: name 
 # or name=definition (no spaces). If the definition and the = are 
-# omitted =1 is assumed. 
+# omitted =1 is assumed.
 
 PREDEFINED             = 
 
 # If the MACRO_EXPANSION and EXPAND_PREDEF_ONLY tags are set to YES then 
 # this tag can be used to specify a list of macro names that should be expanded. 
 # The macro definition that is found in the sources will be used. 
-# Use the PREDEFINED tag if you want to use a different macro definition. 
+# Use the PREDEFINED tag if you want to use a different macro definition.
 
 EXPAND_AS_DEFINED      = 
 
+# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then 
+# doxygen's preprocessor will remove all function-like macros that are alone 
+# on a line and do not end with a semicolon. Such function macros are typically 
+# used for boiler-plate code, and will confuse the parser if not removed.
+
+SKIP_FUNCTION_MACROS   = YES
+
 #---------------------------------------------------------------------------
 # Configuration::addtions related to external references   
 #---------------------------------------------------------------------------
 
-# The TAGFILES tag can be used to specify one or more tagfiles. 
+# The TAGFILES tag can be used to specify one or more tagfiles.
 
 TAGFILES               = 
 
 # When a file name is specified after GENERATE_TAGFILE, doxygen will create 
-# a tag file that is based on the input files it reads. 
+# a tag file that is based on the input files it reads.
 
 GENERATE_TAGFILE       = 
 
 # If the ALLEXTERNALS tag is set to YES all external classes will be listed 
 # in the class index. If set to NO only the inherited external classes 
-# will be listed. 
+# will be listed.
 
 ALLEXTERNALS           = YES
 
 # The PERL_PATH should be the absolute path and name of the perl script 
-# interpreter (i.e. the result of `which perl'). 
+# interpreter (i.e. the result of `which perl').
 
 PERL_PATH              = /usr/bin/perl
 
@@ -700,10 +747,18 @@ PERL_PATH              = /usr/bin/perl
 # Configuration options related to the dot tool   
 #---------------------------------------------------------------------------
 
+# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will 
+# generate a inheritance diagram (in Html, RTF and LaTeX) for classes with base or 
+# super classes. Setting the tag to NO turns the diagrams off. Note that this 
+# option is superceded by the HAVE_DOT option below. This is only a fallback. It is 
+# recommended to install and use dot, since it yield more powerful graphs.
+
+CLASS_DIAGRAMS         = YES
+
 # If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is 
 # available from the path. This tool is part of Graphviz, a graph visualization 
 # toolkit from AT&T and Lucent Bell Labs. The other options in this section 
-# have no effect if this option is set to NO (the default) 
+# have no effect if this option is set to NO (the default)
 
 HAVE_DOT               = YES
 
@@ -717,38 +772,56 @@ CLASS_GRAPH            = YES
 # If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen 
 # will generate a graph for each documented class showing the direct and 
 # indirect implementation dependencies (inheritance, containment, and 
-# class references variables) of the class with other documented classes. 
+# class references variables) of the class with other documented classes.
 
 COLLABORATION_GRAPH    = YES
+
+# If set to YES, the inheritance and collaboration graphs will show the 
+# relations between templates and their instances.
 
-# If the ENABLE_PREPROCESSING, INCLUDE_GRAPH, and HAVE_DOT tags are set to 
-# YES then doxygen will generate a graph for each documented file showing 
-# the direct and indirect include dependencies of the file with other 
-# documented files. 
+TEMPLATE_RELATIONS     = YES
 
+# If set to YES, the inheritance and collaboration graphs will hide 
+# inheritance and usage relations if the target is undocumented 
+# or is not a class.
+
+HIDE_UNDOC_RELATIONS   = YES
+
+# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT 
+# tags are set to YES then doxygen will generate a graph for each documented 
+# file showing the direct and indirect include dependencies of the file with 
+# other documented files.
+
 INCLUDE_GRAPH          = YES
 
-# If the ENABLE_PREPROCESSING, INCLUDED_BY_GRAPH, and HAVE_DOT tags are set to 
-# YES then doxygen will generate a graph for each documented header file showing 
-# the documented files that directly or indirectly include this file 
+# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and 
+# HAVE_DOT tags are set to YES then doxygen will generate a graph for each 
+# documented header file showing the documented files that directly or 
+# indirectly include this file.
 
 INCLUDED_BY_GRAPH      = YES
 
 # If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen 
-# will graphical hierarchy of all classes instead of a textual one. 
+# will graphical hierarchy of all classes instead of a textual one.
 
 GRAPHICAL_HIERARCHY    = YES
 
 # The tag DOT_PATH can be used to specify the path where the dot tool can be 
-# found. If left blank, it is assumed the dot tool can be found on the path. 
+# found. If left blank, it is assumed the dot tool can be found on the path.
 
 DOT_PATH               = 
 
+# The DOTFILE_DIRS tag can be used to specify one or more directories that 
+# contain dot files that are included in the documentation (see the 
+# \dotfile command).
+
+DOTFILE_DIRS           = 
+
 # The MAX_DOT_GRAPH_WIDTH tag can be used to set the maximum allowed width 
 # (in pixels) of the graphs generated by dot. If a graph becomes larger than 
 # this value, doxygen will try to truncate the graph, so that it fits within 
 # the specified constraint. Beware that most browsers cannot cope with very 
-# large images. 
+# large images.
 
 MAX_DOT_GRAPH_WIDTH    = 1024
 
@@ -756,19 +829,19 @@ MAX_DOT_GRAPH_WIDTH    = 1024
 # (in pixels) of the graphs generated by dot. If a graph becomes larger than 
 # this value, doxygen will try to truncate the graph, so that it fits within 
 # the specified constraint. Beware that most browsers cannot cope with very 
-# large images. 
+# large images.
 
 MAX_DOT_GRAPH_HEIGHT   = 1024
 
 # If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will 
 # generate a legend page explaining the meaning of the various boxes and 
-# arrows in the dot generated graphs. 
+# arrows in the dot generated graphs.
 
 GENERATE_LEGEND        = YES
 
 # If the DOT_CLEANUP tag is set to YES (the default) Doxygen will 
 # remove the intermedate dot files that are used to generate 
-# the various graphs. 
+# the various graphs.
 
 DOT_CLEANUP            = YES
 
@@ -777,47 +850,44 @@ DOT_CLEANUP            = YES
 #---------------------------------------------------------------------------
 
 # The SEARCHENGINE tag specifies whether or not a search engine should be 
-# used. If set to NO the values of all tags below this one will be ignored. 
+# used. If set to NO the values of all tags below this one will be ignored.
 
 SEARCHENGINE           = NO
 
 # The CGI_NAME tag should be the name of the CGI script that 
 # starts the search engine (doxysearch) with the correct parameters. 
-# A script with this name will be generated by doxygen. 
+# A script with this name will be generated by doxygen.
 
 CGI_NAME               = search.cgi
 
 # The CGI_URL tag should be the absolute URL to the directory where the 
 # cgi binaries are located. See the documentation of your http daemon for 
-# details. 
+# details.
 
 CGI_URL                = 
 
 # The DOC_URL tag should be the absolute URL to the directory where the 
 # documentation is located. If left blank the absolute path to the 
-# documentation, with file:// prepended to it, will be used. 
+# documentation, with file:// prepended to it, will be used.
 
 DOC_URL                = 
 
 # The DOC_ABSPATH tag should be the absolute path to the directory where the 
 # documentation is located. If left blank the directory on the local machine 
-# will be used. 
+# will be used.
 
 DOC_ABSPATH            = 
 
 # The BIN_ABSPATH tag must point to the directory where the doxysearch binary 
-# is installed. 
+# is installed.
 
 BIN_ABSPATH            = /usr/local/bin/
 
 # The EXT_DOC_PATHS tag can be used to specify one or more paths to 
 # documentation generated for other projects. This allows doxysearch to search 
-# the documentation for these projects as well. 
+# the documentation for these projects as well.
 
 EXT_DOC_PATHS          = 
-
-
-# End of file
-
 
+### End of file.
 
Index: docs/html/19_diagnostics/howto.html
===================================================================
RCS file: /cvs/gcc/gcc/libstdc++-v3/docs/html/19_diagnostics/howto.html,v
retrieving revision 1.13
diff -u -3 -p -r1.13 howto.html
--- howto.html	2001/11/23 16:29:00	1.13
+++ howto.html	2002/01/28 21:59:26
@@ -99,8 +99,9 @@
       object file.  The checks are also cleaner and easier to read and
       understand.
    </p>
-   <p>Right now they are off by default.  More will be added once
-      GCC 3.0 is released and we have time to revisit this topic.
+   <p>For GCC 3.0 and 3.1 they are off by default.  They can be enabled at
+      configure time with
+      <a href="../configopts.html"><code>--enable-concept-checks</code></a>.
    </p>
    <p>Return <a href="#top">to top of page</a> or
       <a href="../faq/index.html">to the FAQ</a>.
Index: docs/html/23_containers/howto.html
===================================================================
RCS file: /cvs/gcc/gcc/libstdc++-v3/docs/html/23_containers/howto.html,v
retrieving revision 1.19
diff -u -3 -p -r1.19 howto.html
--- howto.html	2001/11/28 00:02:04	1.19
+++ howto.html	2002/01/28 21:59:27
@@ -26,6 +26,7 @@
    <li><a href="#3">Containers and multithreading</a>
    <li><a href="#4">"Hinting" during insertion</a>
    <li><a href="#5">Bitmasks and string arguments</a>
+   <li><a href="#6"><code>std::list::size()</code> is O(n)!</a>
 </ul>
 
 <hr>
@@ -392,7 +393,45 @@
    <p>Return <a href="#top">to top of page</a> or
       <a href="../faq/index.html">to the FAQ</a>.
    </p>
- 
+
+<hr>
+<h2><a name="6"><code>std::list::size()</code> is O(n)!</a></h2>
+   <p>Yes it is, and that's okay.  This is a decision that we preserved when
+      we imported SGI's STL implementation.  The following is quoted from
+      <a href="http://www.sgi.com/tech/stl/FAQ.html">their FAQ</a>:
+      <blockquote>
+      <p>The size() member function, for list and slist, takes time
+      proportional to the number of elements in the list.  This was a
+      deliberate tradeoff.  The only way to get a constant-time size() for
+      linked lists would be to maintain an extra member variable containing
+      the list's size.  This would require taking extra time to update that
+      variable (it would make splice() a linear time operation, for example),
+      and it would also make the list larger.  Many list algorithms don't
+      require that extra word (algorithms that do require it might do better
+      with vectors than with lists), and, when it is necessary to maintain
+      an explicit size count, it's something that users can do themselves.
+      </p>
+      <p>This choice is permitted by the C++ standard. The standard says that
+      size() "should" be constant time, and "should"
+      does not mean the same thing as "shall".  This is the
+      officially recommended ISO wording for saying that an implementation
+      is supposed to do something unless there is a good reason not to.
+      </p>
+      <p>One implication of linear time size(): you should never write
+         <pre>
+         if (L.size() == 0)
+             ...</pre>
+         Instead, you should write
+         <pre>
+         if (L.empty())
+             ...</pre>
+      </p>
+      </blockquote>
+   </p>
+   <p>Return <a href="#top">to top of page</a> or
+      <a href="../faq/index.html">to the FAQ</a>.
+   </p>
+
 
 <!-- ####################################################### -->
 
Index: docs/html/27_io/howto.html
===================================================================
RCS file: /cvs/gcc/gcc/libstdc++-v3/docs/html/27_io/howto.html,v
retrieving revision 1.16
diff -u -3 -p -r1.16 howto.html
--- howto.html	2001/11/23 16:29:01	1.16
+++ howto.html	2002/01/28 21:59:29
@@ -328,8 +328,9 @@
 <h2><a name="6">Deriving a stream buffer</a></h2>
    <p>Creating your own stream buffers for I/O can be remarkably easy.
       If you are interested in doing so, we highly recommend two very
-      excellent books:  <em>Standard C++ IOStreams and Locales</em> by
-      Langer and Kreft, ISBN 0-201-18395-1, and
+      excellent books:
+      <a href="http://home.camelot.de/langer/iostreams.htm">Standard C++
+      IOStreams and Locales</a> by Langer and Kreft, ISBN 0-201-18395-1, and
       <a href="http://www.josuttis.com/libbook/">The C++ Standard Library</a>
       by Nicolai Josuttis, ISBN 0-201-37926-0.  Both are published by
       Addison-Wesley, who isn't paying us a cent for saying that, honest.
Index: include/bits/stl_relops.h
===================================================================
RCS file: /cvs/gcc/gcc/libstdc++-v3/include/bits/stl_relops.h,v
retrieving revision 1.7
diff -u -3 -p -r1.7 stl_relops.h
--- stl_relops.h	2001/11/02 17:38:11	1.7
+++ stl_relops.h	2002/01/28 21:59:29
@@ -1,6 +1,6 @@
 // std::rel_ops implementation -*- C++ -*-
 
-// Copyright (C) 2001 Free Software Foundation, Inc.
+// Copyright (C) 2001, 2002 Free Software Foundation, Inc.
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
@@ -53,19 +53,19 @@
  *
  */
 
-/* +++ libstdc++-v3 note:  Inclusion of this file has been removed from
- * all of the other STL headers for safety reasons, except std_utility.h.
- * For more information, see the thread of about twenty messages starting
- * with <URL:http://gcc.gnu.org/ml/libstdc++/2001-01/msg00223.html>, or the
- * FAQ at <URL:http://gcc.gnu.org/onlinedocs/libstdc++/faq/index.html#4_4>.
- *
- * Short summary:  the rel_ops operators cannot be made to play nice.
- * Don't use them.
-*/
-
 /** @file stl_relops.h
  *  This is an internal header file, included by other library headers.
  *  You should not attempt to use it directly.
+ *
+ *  @maint
+ *  Inclusion of this file has been removed from
+ *  all of the other STL headers for safety reasons, except std_utility.h.
+ *  For more information, see the thread of about twenty messages starting
+ *  with http://gcc.gnu.org/ml/libstdc++/2001-01/msg00223.html , or the
+ *  FAQ at http://gcc.gnu.org/onlinedocs/libstdc++/faq/index.html#4_4 .
+ *
+ *  Short summary:  the rel_ops operators should be avoided for the present.
+ *  @endmaint
  */
 
 #ifndef _CPP_BITS_STL_RELOPS_H
@@ -75,22 +75,57 @@ namespace std
 {
   namespace rel_ops
   {
-
+      /** @namespace std::rel_ops
+       *  @brief  The generated relational operators are sequestered here.
+       */
+
+/**
+ *  @brief Defines @c != for arbitrary types, in terms of @c ==.
+ *  @param  x  A thing.
+ *  @param  y  Another thing.
+ *  @return   x != y
+ *
+ *  This function uses @c == to determine its result.
+*/
 template <class _Tp>
 inline bool operator!=(const _Tp& __x, const _Tp& __y) {
   return !(__x == __y);
 }
 
+/**
+ *  @brief Defines @c > for arbitrary types, in terms of @c <.
+ *  @param  x  A thing.
+ *  @param  y  Another thing.
+ *  @return   x > y
+ *
+ *  This function uses @c < to determine its result.
+*/
 template <class _Tp>
 inline bool operator>(const _Tp& __x, const _Tp& __y) {
   return __y < __x;
 }
 
+/**
+ *  @brief Defines @c <= for arbitrary types, in terms of @c <.
+ *  @param  x  A thing.
+ *  @param  y  Another thing.
+ *  @return   x <= y
+ *
+ *  This function uses @c < to determine its result.
+*/
 template <class _Tp>
 inline bool operator<=(const _Tp& __x, const _Tp& __y) {
   return !(__y < __x);
 }
 
+/**
+ *  @brief Defines @c >= for arbitrary types, in terms of @c <.
+ *  @param  x  A thing.
+ *  @param  y  Another thing.
+ *  @return   x >= y
+ *
+ *  This function uses @c < to determine its result.
+*/
 template <class _Tp>
 inline bool operator>=(const _Tp& __x, const _Tp& __y) {
   return !(__x < __y);
Index: include/bits/stl_tempbuf.h
===================================================================
RCS file: /cvs/gcc/gcc/libstdc++-v3/include/bits/stl_tempbuf.h,v
retrieving revision 1.13
diff -u -3 -p -r1.13 stl_tempbuf.h
--- stl_tempbuf.h	2002/01/25 04:14:38	1.13
+++ stl_tempbuf.h	2002/01/28 21:59:29
@@ -67,12 +67,16 @@ namespace std
 /**
  *  @maint
  *  This class is used in two places:  stl_algo.h and ext/memory, where it
- *  is wrapped as the temporary_buffer class.
+ *  is wrapped as the temporary_buffer class.  See temporary_buffer docs for
+ *  more notes.
  *  @endmaint
 */
 template <class _ForwardIterator, class _Tp>
-class _Temporary_buffer {
-private:
+  class _Temporary_buffer
+{
+  // concept requirements
+  __glibcpp_class_requires(_ForwardIterator, _ForwardIteratorConcept)
+
   ptrdiff_t  _M_original_len;
   ptrdiff_t  _M_len;
   _Tp*       _M_buffer;
@@ -99,9 +103,13 @@ private:
   }
 
 public:
+  /// As per Table mumble.
   ptrdiff_t size() const { return _M_len; }
+  /// Returns the size requested by the constructor; may be >size().
   ptrdiff_t requested_size() const { return _M_original_len; }
+  /// As per Table mumble.
   _Tp* begin() { return _M_buffer; }
+  /// As per Table mumble.
   _Tp* end() { return _M_buffer + _M_len; }
 
   _Temporary_buffer(_ForwardIterator __first, _ForwardIterator __last) {
@@ -139,6 +147,3 @@ private:
 
 #endif /* __GLIBCPP_INTERNAL_TEMPBUF_H */
 
-// Local Variables:
-// mode:C++
-// End:
Index: include/c_std/std_cassert.h
===================================================================
RCS file: /cvs/gcc/gcc/libstdc++-v3/include/c_std/std_cassert.h,v
retrieving revision 1.1
diff -u -3 -p -r1.1 std_cassert.h
--- std_cassert.h	2002/01/17 07:18:33	1.1
+++ std_cassert.h	2002/01/28 21:59:29
@@ -31,17 +31,18 @@
 // ISO C++ 14882: 19.2  Assertions
 //
 
+/** @file cassert
+ *  This is a Standard C++ Library file.  You should @c #include this file
+ *  in your programs, rather than any of the "*.h" implementation files.
+ *
+ *  This is the C++ version of the Standard C Library header @c assert.h,
+ *  and its contents are (mostly) the same as that header, but are all
+ *  contained in the namespace @c std.
+ */
+
 // No include guards on this header...
 
 #pragma GCC system_header
 #include <assert.h>
-
-
-
-
-
-
-
-
 
 
Index: include/c_std/std_cctype.h
===================================================================
RCS file: /cvs/gcc/gcc/libstdc++-v3/include/c_std/std_cctype.h,v
retrieving revision 1.1
diff -u -3 -p -r1.1 std_cctype.h
--- std_cctype.h	2002/01/17 07:18:33	1.1
+++ std_cctype.h	2002/01/28 21:59:29
@@ -31,6 +31,15 @@
 // ISO C++ 14882: <ccytpe>
 //
 
+/** @file cctype
+ *  This is a Standard C++ Library file.  You should @c #include this file
+ *  in your programs, rather than any of the "*.h" implementation files.
+ *
+ *  This is the C++ version of the Standard C Library header @c ctype.h,
+ *  and its contents are (mostly) the same as that header, but are all
+ *  contained in the namespace @c std.
+ */
+
 #ifndef _CPP_CCTYPE
 #define _CPP_CCTYPE 1
 
Index: include/c_std/std_cerrno.h
===================================================================
RCS file: /cvs/gcc/gcc/libstdc++-v3/include/c_std/std_cerrno.h,v
retrieving revision 1.1
diff -u -3 -p -r1.1 std_cerrno.h
--- std_cerrno.h	2002/01/17 07:18:33	1.1
+++ std_cerrno.h	2002/01/28 21:59:29
@@ -31,6 +31,15 @@
 // ISO C++ 14882: 19.3  Error numbers
 //
 
+/** @file cerrno
+ *  This is a Standard C++ Library file.  You should @c #include this file
+ *  in your programs, rather than any of the "*.h" implementation files.
+ *
+ *  This is the C++ version of the Standard C Library header @c errno.h,
+ *  and its contents are (mostly) the same as that header, but are all
+ *  contained in the namespace @c std.
+ */
+
 #ifndef _CPP_CERRNO
 #define _CPP_CERRNO 1
 
Index: include/c_std/std_cfloat.h
===================================================================
RCS file: /cvs/gcc/gcc/libstdc++-v3/include/c_std/std_cfloat.h,v
retrieving revision 1.1
diff -u -3 -p -r1.1 std_cfloat.h
--- std_cfloat.h	2002/01/17 07:18:33	1.1
+++ std_cfloat.h	2002/01/28 21:59:29
@@ -31,6 +31,15 @@
 // ISO C++ 14882: 18.2.2  Implementation properties: C library
 //
 
+/** @file cfloat
+ *  This is a Standard C++ Library file.  You should @c #include this file
+ *  in your programs, rather than any of the "*.h" implementation files.
+ *
+ *  This is the C++ version of the Standard C Library header @c float.h,
+ *  and its contents are (mostly) the same as that header, but are all
+ *  contained in the namespace @c std.
+ */
+
 #ifndef _CPP_CFLOAT
 #define _CPP_CFLOAT 1
 
Index: include/c_std/std_ciso646.h
===================================================================
RCS file: /cvs/gcc/gcc/libstdc++-v3/include/c_std/std_ciso646.h,v
retrieving revision 1.1
diff -u -3 -p -r1.1 std_ciso646.h
--- std_ciso646.h	2002/01/17 07:18:33	1.1
+++ std_ciso646.h	2002/01/28 21:59:29
@@ -29,7 +29,7 @@
 
 /** @file ciso646
  *  This is a Standard C++ Library file.  You should @c #include this file
- *  in your programs, rather than any of the "st[dl]_*.h" implementation files.
+ *  in your programs, rather than any of the "*.h" implementation files.
  *
  *  This is the C++ version of the Standard C Library header @c iso646.h,
  *  and its contents are (mostly) the same as that header, but are all
Index: include/c_std/std_climits.h
===================================================================
RCS file: /cvs/gcc/gcc/libstdc++-v3/include/c_std/std_climits.h,v
retrieving revision 1.1
diff -u -3 -p -r1.1 std_climits.h
--- std_climits.h	2002/01/17 07:18:33	1.1
+++ std_climits.h	2002/01/28 21:59:29
@@ -31,6 +31,15 @@
 // ISO C++ 14882: 18.2.2  Implementation properties: C library
 //
 
+/** @file climits
+ *  This is a Standard C++ Library file.  You should @c #include this file
+ *  in your programs, rather than any of the "*.h" implementation files.
+ *
+ *  This is the C++ version of the Standard C Library header @c limits.h,
+ *  and its contents are (mostly) the same as that header, but are all
+ *  contained in the namespace @c std.
+ */
+
 #ifndef _CPP_CLIMITS
 #define _CPP_CLIMITS	1
 
Index: include/c_std/std_clocale.h
===================================================================
RCS file: /cvs/gcc/gcc/libstdc++-v3/include/c_std/std_clocale.h,v
retrieving revision 1.1
diff -u -3 -p -r1.1 std_clocale.h
--- std_clocale.h	2002/01/17 07:18:33	1.1
+++ std_clocale.h	2002/01/28 21:59:29
@@ -31,6 +31,15 @@
 // ISO C++ 14882: 18.2.2  Implementation properties: C library
 //
 
+/** @file clocale
+ *  This is a Standard C++ Library file.  You should @c #include this file
+ *  in your programs, rather than any of the "*.h" implementation files.
+ *
+ *  This is the C++ version of the Standard C Library header @c locale.h,
+ *  and its contents are (mostly) the same as that header, but are all
+ *  contained in the namespace @c std.
+ */
+
 #ifndef _CPP_CLOCALE
 #define _CPP_CLOCALE 1
 
Index: include/c_std/std_cmath.h
===================================================================
RCS file: /cvs/gcc/gcc/libstdc++-v3/include/c_std/std_cmath.h,v
retrieving revision 1.1
diff -u -3 -p -r1.1 std_cmath.h
--- std_cmath.h	2002/01/17 07:18:33	1.1
+++ std_cmath.h	2002/01/28 21:59:29
@@ -31,6 +31,15 @@
 // ISO C++ 14882: 26.5  C library
 //
 
+/** @file cmath
+ *  This is a Standard C++ Library file.  You should @c #include this file
+ *  in your programs, rather than any of the "*.h" implementation files.
+ *
+ *  This is the C++ version of the Standard C Library header @c math.h,
+ *  and its contents are (mostly) the same as that header, but are all
+ *  contained in the namespace @c std.
+ */
+
 #ifndef _CPP_CMATH
 #define _CPP_CMATH 1
 
Index: include/c_std/std_csetjmp.h
===================================================================
RCS file: /cvs/gcc/gcc/libstdc++-v3/include/c_std/std_csetjmp.h,v
retrieving revision 1.1
diff -u -3 -p -r1.1 std_csetjmp.h
--- std_csetjmp.h	2002/01/17 07:18:33	1.1
+++ std_csetjmp.h	2002/01/28 21:59:29
@@ -31,6 +31,15 @@
 // ISO C++ 14882: 20.4.6  C library
 //
 
+/** @file csetjmp
+ *  This is a Standard C++ Library file.  You should @c #include this file
+ *  in your programs, rather than any of the "*.h" implementation files.
+ *
+ *  This is the C++ version of the Standard C Library header @c setjmp.h,
+ *  and its contents are (mostly) the same as that header, but are all
+ *  contained in the namespace @c std.
+ */
+
 #ifndef _CPP_CSETJMP
 #define _CPP_CSETJMP 1
 
Index: include/c_std/std_csignal.h
===================================================================
RCS file: /cvs/gcc/gcc/libstdc++-v3/include/c_std/std_csignal.h,v
retrieving revision 1.1
diff -u -3 -p -r1.1 std_csignal.h
--- std_csignal.h	2002/01/17 07:18:33	1.1
+++ std_csignal.h	2002/01/28 21:59:29
@@ -31,6 +31,15 @@
 // ISO C++ 14882: 20.4.6  C library
 //
 
+/** @file csignal
+ *  This is a Standard C++ Library file.  You should @c #include this file
+ *  in your programs, rather than any of the "*.h" implementation files.
+ *
+ *  This is the C++ version of the Standard C Library header @c signal.h,
+ *  and its contents are (mostly) the same as that header, but are all
+ *  contained in the namespace @c std.
+ */
+
 #ifndef _CPP_CSIGNAL
 #define _CPP_CSIGNAL 1
 
Index: include/c_std/std_cstdarg.h
===================================================================
RCS file: /cvs/gcc/gcc/libstdc++-v3/include/c_std/std_cstdarg.h,v
retrieving revision 1.1
diff -u -3 -p -r1.1 std_cstdarg.h
--- std_cstdarg.h	2002/01/17 07:18:33	1.1
+++ std_cstdarg.h	2002/01/28 21:59:29
@@ -31,6 +31,15 @@
 // ISO C++ 14882: 20.4.6  C library
 //
 
+/** @file cstdarg
+ *  This is a Standard C++ Library file.  You should @c #include this file
+ *  in your programs, rather than any of the "*.h" implementation files.
+ *
+ *  This is the C++ version of the Standard C Library header @c stdarg.h,
+ *  and its contents are (mostly) the same as that header, but are all
+ *  contained in the namespace @c std.
+ */
+
 #ifndef _CPP_CSTDARG
 #define _CPP_CSTDARG 1
 
Index: include/c_std/std_cstddef.h
===================================================================
RCS file: /cvs/gcc/gcc/libstdc++-v3/include/c_std/std_cstddef.h,v
retrieving revision 1.1
diff -u -3 -p -r1.1 std_cstddef.h
--- std_cstddef.h	2002/01/17 07:18:33	1.1
+++ std_cstddef.h	2002/01/28 21:59:29
@@ -31,6 +31,15 @@
 // ISO C++ 14882: 18.1  Types
 //
 
+/** @file cstddef
+ *  This is a Standard C++ Library file.  You should @c #include this file
+ *  in your programs, rather than any of the "*.h" implementation files.
+ *
+ *  This is the C++ version of the Standard C Library header @c stddef.h,
+ *  and its contents are (mostly) the same as that header, but are all
+ *  contained in the namespace @c std.
+ */
+
 #ifndef _CPP_CSTDDEF
 #define _CPP_CSTDDEF 1
 
Index: include/c_std/std_cstdio.h
===================================================================
RCS file: /cvs/gcc/gcc/libstdc++-v3/include/c_std/std_cstdio.h,v
retrieving revision 1.1
diff -u -3 -p -r1.1 std_cstdio.h
--- std_cstdio.h	2002/01/17 07:18:33	1.1
+++ std_cstdio.h	2002/01/28 21:59:29
@@ -31,6 +31,15 @@
 // ISO C++ 14882: 27.8.2  C Library files
 //
 
+/** @file cstdio
+ *  This is a Standard C++ Library file.  You should @c #include this file
+ *  in your programs, rather than any of the "*.h" implementation files.
+ *
+ *  This is the C++ version of the Standard C Library header @c stdio.h,
+ *  and its contents are (mostly) the same as that header, but are all
+ *  contained in the namespace @c std.
+ */
+
 #ifndef _CPP_CSTDIO
 #define _CPP_CSTDIO 1
 
Index: include/c_std/std_cstdlib.h
===================================================================
RCS file: /cvs/gcc/gcc/libstdc++-v3/include/c_std/std_cstdlib.h,v
retrieving revision 1.1
diff -u -3 -p -r1.1 std_cstdlib.h
--- std_cstdlib.h	2002/01/17 07:18:33	1.1
+++ std_cstdlib.h	2002/01/28 21:59:29
@@ -31,6 +31,15 @@
 // ISO C++ 14882: 20.4.6  C library
 //
 
+/** @file cstdlib
+ *  This is a Standard C++ Library file.  You should @c #include this file
+ *  in your programs, rather than any of the "*.h" implementation files.
+ *
+ *  This is the C++ version of the Standard C Library header @c stdlib.h,
+ *  and its contents are (mostly) the same as that header, but are all
+ *  contained in the namespace @c std.
+ */
+
 #ifndef _CPP_CSTDLIB
 #define _CPP_CSTDLIB 1
 
Index: include/c_std/std_cstring.h
===================================================================
RCS file: /cvs/gcc/gcc/libstdc++-v3/include/c_std/std_cstring.h,v
retrieving revision 1.1
diff -u -3 -p -r1.1 std_cstring.h
--- std_cstring.h	2002/01/17 07:18:33	1.1
+++ std_cstring.h	2002/01/28 21:59:29
@@ -31,6 +31,15 @@
 // ISO C++ 14882: 20.4.6  C library
 //
 
+/** @file cstring
+ *  This is a Standard C++ Library file.  You should @c #include this file
+ *  in your programs, rather than any of the "*.h" implementation files.
+ *
+ *  This is the C++ version of the Standard C Library header @c string.h,
+ *  and its contents are (mostly) the same as that header, but are all
+ *  contained in the namespace @c std.
+ */
+
 #ifndef _CPP_CSTRING
 #define _CPP_CSTRING 1
 
Index: include/c_std/std_ctime.h
===================================================================
RCS file: /cvs/gcc/gcc/libstdc++-v3/include/c_std/std_ctime.h,v
retrieving revision 1.1
diff -u -3 -p -r1.1 std_ctime.h
--- std_ctime.h	2002/01/17 07:18:33	1.1
+++ std_ctime.h	2002/01/28 21:59:29
@@ -31,6 +31,15 @@
 // ISO C++ 14882: 20.5  Date and time
 //
 
+/** @file ctime
+ *  This is a Standard C++ Library file.  You should @c #include this file
+ *  in your programs, rather than any of the "*.h" implementation files.
+ *
+ *  This is the C++ version of the Standard C Library header @c time.h,
+ *  and its contents are (mostly) the same as that header, but are all
+ *  contained in the namespace @c std.
+ */
+
 #ifndef _CPP_CTIME
 #define _CPP_CTIME 1
 
Index: include/c_std/std_cwchar.h
===================================================================
RCS file: /cvs/gcc/gcc/libstdc++-v3/include/c_std/std_cwchar.h,v
retrieving revision 1.1
diff -u -3 -p -r1.1 std_cwchar.h
--- std_cwchar.h	2002/01/17 07:18:33	1.1
+++ std_cwchar.h	2002/01/28 21:59:29
@@ -31,6 +31,15 @@
 // ISO C++ 14882: 21.4
 //
 
+/** @file cwchar
+ *  This is a Standard C++ Library file.  You should @c #include this file
+ *  in your programs, rather than any of the "*.h" implementation files.
+ *
+ *  This is the C++ version of the Standard C Library header @c wchar.h,
+ *  and its contents are (mostly) the same as that header, but are all
+ *  contained in the namespace @c std.
+ */
+
 #ifndef _CPP_CWCHAR
 #define _CPP_CWCHAR 1
 
Index: include/c_std/std_cwctype.h
===================================================================
RCS file: /cvs/gcc/gcc/libstdc++-v3/include/c_std/std_cwctype.h,v
retrieving revision 1.1
diff -u -3 -p -r1.1 std_cwctype.h
--- std_cwctype.h	2002/01/17 07:18:33	1.1
+++ std_cwctype.h	2002/01/28 21:59:29
@@ -31,6 +31,15 @@
 // ISO C++ 14882: <cwctype>
 //
 
+/** @file cwctype
+ *  This is a Standard C++ Library file.  You should @c #include this file
+ *  in your programs, rather than any of the "*.h" implementation files.
+ *
+ *  This is the C++ version of the Standard C Library header @c wctype.h,
+ *  and its contents are (mostly) the same as that header, but are all
+ *  contained in the namespace @c std.
+ */
+
 #ifndef _CPP_CWCTYPE
 #define _CPP_CWCTYPE 1
 
Index: include/ext/algorithm
===================================================================
RCS file: /cvs/gcc/gcc/libstdc++-v3/include/ext/algorithm,v
retrieving revision 1.4
diff -u -3 -p -r1.4 algorithm
--- algorithm	2002/01/04 21:27:33	1.4
+++ algorithm	2002/01/28 21:59:29
@@ -1,6 +1,6 @@
 // Algorithm extensions -*- C++ -*-
 
-// Copyright (C) 2001 Free Software Foundation, Inc.
+// Copyright (C) 2001, 2002 Free Software Foundation, Inc.
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
@@ -51,6 +51,12 @@
  * in supporting documentation.  Silicon Graphics makes no
  * representations about the suitability of this software for any
  * purpose.  It is provided "as is" without express or implied warranty.
+ */
+
+/** @file ext/algorithm
+ *  This file is a GNU extension to the Standard C++ Library (possibly
+ *  containing extensions from the HP/SGI STL subset).  You should only
+ *  include this header if you are using GCC 3 or later.
  */
 
 #ifndef _EXT_ALGORITHM
Index: include/ext/functional
===================================================================
RCS file: /cvs/gcc/gcc/libstdc++-v3/include/ext/functional,v
retrieving revision 1.2
diff -u -3 -p -r1.2 functional
--- functional	2002/01/04 21:27:33	1.2
+++ functional	2002/01/28 21:59:29
@@ -53,6 +53,12 @@
  * purpose.  It is provided "as is" without express or implied warranty.
  */
 
+/** @file ext/functional
+ *  This file is a GNU extension to the Standard C++ Library (possibly
+ *  containing extensions from the HP/SGI STL subset).  You should only
+ *  include this header if you are using GCC 3 or later.
+ */
+
 #ifndef _EXT_FUNCTIONAL
 #define _EXT_FUNCTIONAL
 
Index: include/ext/hash_map
===================================================================
RCS file: /cvs/gcc/gcc/libstdc++-v3/include/ext/hash_map,v
retrieving revision 1.10
diff -u -3 -p -r1.10 hash_map
--- hash_map	2001/12/31 10:22:00	1.10
+++ hash_map	2002/01/28 21:59:29
@@ -1,6 +1,6 @@
 // Hashing map implementation -*- C++ -*-
 
-// Copyright (C) 2001 Free Software Foundation, Inc.
+// Copyright (C) 2001, 2002 Free Software Foundation, Inc.
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
@@ -53,9 +53,10 @@
  *
  */
 
-/** @file hash_map
- *  This header file is an extension to the Standard C++ Library.  You should
- *  use the "ext/" path prefix in your @c #include statements.
+/** @file ext/hash_map
+ *  This file is a GNU extension to the Standard C++ Library (possibly
+ *  containing extensions from the HP/SGI STL subset).  You should only
+ *  include this header if you are using GCC 3 or later.
  */
 
 #ifndef __SGI_STL_INTERNAL_HASH_MAP_H
Index: include/ext/hash_set
===================================================================
RCS file: /cvs/gcc/gcc/libstdc++-v3/include/ext/hash_set,v
retrieving revision 1.10
diff -u -3 -p -r1.10 hash_set
--- hash_set	2001/12/31 10:22:00	1.10
+++ hash_set	2002/01/28 21:59:29
@@ -1,6 +1,6 @@
 // Hashing set implementation -*- C++ -*-
 
-// Copyright (C) 2001 Free Software Foundation, Inc.
+// Copyright (C) 2001, 2002 Free Software Foundation, Inc.
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
@@ -53,9 +53,10 @@
  *
  */
 
-/** @file hash_set
- *  This header file is an extension to the Standard C++ Library.  You should
- *  use the "ext/" path prefix in your @c #include statements.
+/** @file ext/hash_set
+ *  This file is a GNU extension to the Standard C++ Library (possibly
+ *  containing extensions from the HP/SGI STL subset).  You should only
+ *  include this header if you are using GCC 3 or later.
  */
 
 #ifndef __SGI_STL_INTERNAL_HASH_SET_H
Index: include/ext/iterator
===================================================================
RCS file: /cvs/gcc/gcc/libstdc++-v3/include/ext/iterator,v
retrieving revision 1.3
diff -u -3 -p -r1.3 iterator
--- iterator	2002/01/04 21:27:33	1.3
+++ iterator	2002/01/28 21:59:29
@@ -1,6 +1,6 @@
 // HP/SGI iterator extensions -*- C++ -*-
 
-// Copyright (C) 2001 Free Software Foundation, Inc.
+// Copyright (C) 2001, 2002 Free Software Foundation, Inc.
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
@@ -53,9 +53,10 @@
  * purpose.  It is provided "as is" without express or implied warranty.
  */
 
-/*  @file dont_know_what_to_call_this_yet
- *  This header file is an extension to the Standard C++ Library.  You should
- *  use the "ext/" path prefix in your @c #include statements.
+/** @file ext/iterator
+ *  This file is a GNU extension to the Standard C++ Library (possibly
+ *  containing extensions from the HP/SGI STL subset).  You should only
+ *  include this header if you are using GCC 3 or later.
  */
 
 #ifndef _EXT_ITERATOR
Index: include/ext/memory
===================================================================
RCS file: /cvs/gcc/gcc/libstdc++-v3/include/ext/memory,v
retrieving revision 1.4
diff -u -3 -p -r1.4 memory
--- memory	2002/01/25 04:14:39	1.4
+++ memory	2002/01/28 21:59:29
@@ -53,6 +53,12 @@
  * purpose.  It is provided "as is" without express or implied warranty.
  */
 
+/** @file ext/memory
+ *  This file is a GNU extension to the Standard C++ Library (possibly
+ *  containing extensions from the HP/SGI STL subset).  You should only
+ *  include this header if you are using GCC 3 or later.
+ */
+
 #ifndef _EXT_MEMORY
 #define _EXT_MEMORY
 
@@ -67,7 +73,6 @@ namespace __gnu_cxx
   using std::__iterator_category;
   using std::_Temporary_buffer;
   
-  // uninitialized_copy_n (not part of the C++ standard)
 
   template<typename _InputIter, typename _Size, typename _ForwardIter>
     pair<_InputIter, _ForwardIter>
@@ -114,6 +119,7 @@ namespace __gnu_cxx
    *  @param  last   An input iterator.
    *  @param  result An output iterator.
    *  @return   result + (first - last)
+   *  @ingroup SGIextensions
    *
    *  Like copy(), but does not require an initialized output range.
   */
@@ -127,7 +133,23 @@ namespace __gnu_cxx
 
 
   /**
-   *  Must come back and figure out these notes.
+   *  This class provides similar behavior and semantics of the standard
+   *  functions get_temporary_buffer() and return_temporary_buffer(), but
+   *  encapsulated in a type vaguely resembling a standard container.
+   *
+   *  By default, a temporary_buffer<Iter> stores space for objects of
+   *  whatever type the Iter iterator points to.  It is constructed from a
+   *  typical [first,last) range, and provides the begin(), end(), size()
+   *  functions, as well as requested_size().  For non-trivial types, copies
+   *  of *first will be used to initialize the storage.
+   *
+   *  @c malloc is used to obtain underlying storage.
+   *
+   *  Like get_temporary_buffer(), not all the requested memory may be
+   *  available.  Ideally, the created buffer will be large enough to hold a
+   *  copy of [first,last), but if size() is less than requested_size(),
+   *  then this didn't happen.
+   *
    *  @ingroup SGIextensions
   */
   template <class _ForwardIterator, 
@@ -135,8 +157,10 @@ namespace __gnu_cxx
 	      = typename std::iterator_traits<_ForwardIterator>::value_type >
   struct temporary_buffer : public _Temporary_buffer<_ForwardIterator, _Tp>
   {
+    /// Requests storage large enough to hold a copy of [first,last).
     temporary_buffer(_ForwardIterator __first, _ForwardIterator __last)
       : _Temporary_buffer<_ForwardIterator, _Tp>(__first, __last) {}
+    /// Destroys objects and frees storage.
     ~temporary_buffer() {}
   };
 
Index: include/ext/numeric
===================================================================
RCS file: /cvs/gcc/gcc/libstdc++-v3/include/ext/numeric,v
retrieving revision 1.2
diff -u -3 -p -r1.2 numeric
--- numeric	2002/01/04 21:27:34	1.2
+++ numeric	2002/01/28 21:59:29
@@ -53,6 +53,12 @@
  * purpose.  It is provided "as is" without express or implied warranty.
  */
 
+/** @file ext/numeric
+ *  This file is a GNU extension to the Standard C++ Library (possibly
+ *  containing extensions from the HP/SGI STL subset).  You should only
+ *  include this header if you are using GCC 3 or later.
+ */
+
 #ifndef _EXT_NUMERIC
 #define _EXT_NUMERIC
 
Index: include/ext/rb_tree
===================================================================
RCS file: /cvs/gcc/gcc/libstdc++-v3/include/ext/rb_tree,v
retrieving revision 1.1
diff -u -3 -p -r1.1 rb_tree
--- rb_tree	2002/01/04 17:02:27	1.1
+++ rb_tree	2002/01/28 21:59:29
@@ -53,6 +53,12 @@
  * purpose.  It is provided "as is" without express or implied warranty.
  */
 
+/** @file ext/rb_tree
+ *  This file is a GNU extension to the Standard C++ Library (possibly
+ *  containing extensions from the HP/SGI STL subset).  You should only
+ *  include this header if you are using GCC 3 or later.
+ */
+
 #ifndef _EXT_RB_TREE
 #define _EXT_RB_TREE
 
Index: include/ext/rope
===================================================================
RCS file: /cvs/gcc/gcc/libstdc++-v3/include/ext/rope,v
retrieving revision 1.6
diff -u -3 -p -r1.6 rope
--- rope	2002/01/25 04:14:39	1.6
+++ rope	2002/01/28 21:59:29
@@ -40,9 +40,10 @@
  * purpose.  It is provided "as is" without express or implied warranty.
  */
 
-/** @file rope
- *  This header file is an extension to the Standard C++ Library.  You should
- *  use the "ext/" path prefix in your @c #include statements.
+/** @file ext/rope
+ *  This file is a GNU extension to the Standard C++ Library (possibly
+ *  containing extensions from the HP/SGI STL subset).  You should only
+ *  include this header if you are using GCC 3 or later.
  */
 
 #ifndef __SGI_STL_ROPE
Index: include/ext/ropeimpl.h
===================================================================
RCS file: /cvs/gcc/gcc/libstdc++-v3/include/ext/ropeimpl.h,v
retrieving revision 1.15
diff -u -3 -p -r1.15 ropeimpl.h
--- ropeimpl.h	2002/01/04 21:27:34	1.15
+++ ropeimpl.h	2002/01/28 21:59:30
@@ -1,6 +1,6 @@
 // SGI's rope class implementation -*- C++ -*-
 
-// Copyright (C) 2001 Free Software Foundation, Inc.
+// Copyright (C) 2001, 2002 Free Software Foundation, Inc.
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
Index: include/ext/slist
===================================================================
RCS file: /cvs/gcc/gcc/libstdc++-v3/include/ext/slist,v
retrieving revision 1.13
diff -u -3 -p -r1.13 slist
--- slist	2001/12/31 10:26:01	1.13
+++ slist	2002/01/28 21:59:30
@@ -1,6 +1,6 @@
 // Singly-linked list implementation -*- C++ -*-
 
-// Copyright (C) 2001 Free Software Foundation, Inc.
+// Copyright (C) 2001, 2002 Free Software Foundation, Inc.
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
@@ -41,9 +41,10 @@
  *
  */
 
-/** @file slist
- *  This header file is an extension to the Standard C++ Library.  You should
- *  use the "ext/" path prefix in your @c #include statements.
+/** @file ext/slist
+ *  This file is a GNU extension to the Standard C++ Library (possibly
+ *  containing extensions from the HP/SGI STL subset).  You should only
+ *  include this header if you are using GCC 3 or later.
  */
 
 #ifndef __SGI_STL_INTERNAL_SLIST_H
Index: include/ext/stl_hash_fun.h
===================================================================
RCS file: /cvs/gcc/gcc/libstdc++-v3/include/ext/stl_hash_fun.h,v
retrieving revision 1.8
diff -u -3 -p -r1.8 stl_hash_fun.h
--- stl_hash_fun.h	2002/01/04 21:27:34	1.8
+++ stl_hash_fun.h	2002/01/28 21:59:30
@@ -1,6 +1,6 @@
 // 'struct hash' from SGI -*- C++ -*-
 
-// Copyright (C) 2001 Free Software Foundation, Inc.
+// Copyright (C) 2001, 2002 Free Software Foundation, Inc.
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
@@ -53,9 +53,10 @@
  *
  */
 
-/** @file stl_hash_fun.h
- *  This is an internal header file, included by other library headers.
- *  You should not attempt to use it directly.
+/** @file ext/stl_hash_fun.h
+ *  This file is a GNU extension to the Standard C++ Library (possibly
+ *  containing extensions from the HP/SGI STL subset).  You should only
+ *  include this header if you are using GCC 3 or later.
  */
 
 #ifndef _CPP_BITS_STL_HASH_FUN_H
Index: include/ext/stl_hashtable.h
===================================================================
RCS file: /cvs/gcc/gcc/libstdc++-v3/include/ext/stl_hashtable.h,v
retrieving revision 1.14
diff -u -3 -p -r1.14 stl_hashtable.h
--- stl_hashtable.h	2002/01/25 04:14:39	1.14
+++ stl_hashtable.h	2002/01/28 21:59:30
@@ -53,9 +53,10 @@
  *
  */
 
-/** @file stl_hashtable.h
- *  This is an internal header file, included by other library headers.
- *  You should not attempt to use it directly.
+/** @file ext/stl_hashtable.h
+ *  This file is a GNU extension to the Standard C++ Library (possibly
+ *  containing extensions from the HP/SGI STL subset).  You should only
+ *  include this header if you are using GCC 3 or later.
  */
 
 #ifndef __SGI_STL_INTERNAL_HASHTABLE_H
Index: include/ext/stl_rope.h
===================================================================
RCS file: /cvs/gcc/gcc/libstdc++-v3/include/ext/stl_rope.h,v
retrieving revision 1.15
diff -u -3 -p -r1.15 stl_rope.h
--- stl_rope.h	2002/01/02 12:16:55	1.15
+++ stl_rope.h	2002/01/28 21:59:31
@@ -1,6 +1,6 @@
 // SGI's rope implementation -*- C++ -*-
 
-// Copyright (C) 2001 Free Software Foundation, Inc.
+// Copyright (C) 2001, 2002 Free Software Foundation, Inc.
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
@@ -40,9 +40,10 @@
  * purpose.  It is provided "as is" without express or implied warranty.
  */
 
-/** @file stl_rope.h
- *  This is an internal header file, included by other library headers.
- *  You should not attempt to use it directly.
+/** @file ext/stl_rope.h
+ *  This file is a GNU extension to the Standard C++ Library (possibly
+ *  containing extensions from the HP/SGI STL subset).  You should only
+ *  include this header if you are using GCC 3 or later.
  */
 
 // rope<_CharT,_Alloc> is a sequence of _CharT.
Index: include/std/std_algorithm.h
===================================================================
RCS file: /cvs/gcc/gcc/libstdc++-v3/include/std/std_algorithm.h,v
retrieving revision 1.2
diff -u -3 -p -r1.2 std_algorithm.h
--- std_algorithm.h	2002/01/25 04:14:40	1.2
+++ std_algorithm.h	2002/01/28 21:59:31
@@ -53,9 +53,9 @@
  * purpose.  It is provided "as is" without express or implied warranty.
  */
 
-/** @file std_algorithm.h
- *  This is an internal header file, included by other library headers.
- *  You should not attempt to use it directly.
+/** @file algorithm
+ *  This is a Standard C++ Library header.  You should @c #include this header
+ *  in your programs, rather than any of the "st[dl]_*.h" implementation files.
  */
 
 #ifndef _CPP_ALGORITHM
Index: include/std/std_bitset.h
===================================================================
RCS file: /cvs/gcc/gcc/libstdc++-v3/include/std/std_bitset.h,v
retrieving revision 1.1
diff -u -3 -p -r1.1 std_bitset.h
--- std_bitset.h	2002/01/12 00:50:04	1.1
+++ std_bitset.h	2002/01/28 21:59:31
@@ -1,6 +1,6 @@
 // <bitset> -*- C++ -*-
 
-// Copyright (C) 2001 Free Software Foundation, Inc.
+// Copyright (C) 2001, 2002 Free Software Foundation, Inc.
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
@@ -40,9 +40,9 @@
  * purpose.  It is provided "as is" without express or implied warranty.
  */ 
 
-/** @file std_bitset.h
- *  This is an internal header file, included by other library headers.
- *  You should not attempt to use it directly.
+/** @file bitset
+ *  This is a Standard C++ Library header.  You should @c #include this header
+ *  in your programs, rather than any of the "st[dl]_*.h" implementation files.
  */
 
 #ifndef __GLIBCPP_BITSET
Index: include/std/std_complex.h
===================================================================
RCS file: /cvs/gcc/gcc/libstdc++-v3/include/std/std_complex.h,v
retrieving revision 1.1
diff -u -3 -p -r1.1 std_complex.h
--- std_complex.h	2002/01/12 00:50:04	1.1
+++ std_complex.h	2002/01/28 21:59:31
@@ -1,6 +1,7 @@
 // The template and inlines for the -*- C++ -*- complex number classes.
 
-// Copyright (C) 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
+// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002
+// Free Software Foundation, Inc.
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
@@ -34,9 +35,9 @@
 // Improved by Gabriel Dos Reis <dosreis@cmla.ens-cachan.fr>
 //
 
-/** @file std_complex.h
- *  This is an internal header file, included by other library headers.
- *  You should not attempt to use it directly.
+/** @file complex
+ *  This is a Standard C++ Library header.  You should @c #include this header
+ *  in your programs, rather than any of the "st[dl]_*.h" implementation files.
  */
 
 #ifndef _CPP_COMPLEX
Index: include/std/std_deque.h
===================================================================
RCS file: /cvs/gcc/gcc/libstdc++-v3/include/std/std_deque.h,v
retrieving revision 1.1
diff -u -3 -p -r1.1 std_deque.h
--- std_deque.h	2002/01/12 00:50:04	1.1
+++ std_deque.h	2002/01/28 21:59:31
@@ -1,6 +1,6 @@
 // <deque> -*- C++ -*-
 
-// Copyright (C) 2001 Free Software Foundation, Inc.
+// Copyright (C) 2001, 2002 Free Software Foundation, Inc.
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
@@ -53,9 +53,9 @@
  * purpose.  It is provided "as is" without express or implied warranty.
  */
 
-/** @file std_deque.h
- *  This is an internal header file, included by other library headers.
- *  You should not attempt to use it directly.
+/** @file deque
+ *  This is a Standard C++ Library header.  You should @c #include this header
+ *  in your programs, rather than any of the "st[dl]_*.h" implementation files.
  */
 
 #ifndef _CPP_DEQUE
Index: include/std/std_fstream.h
===================================================================
RCS file: /cvs/gcc/gcc/libstdc++-v3/include/std/std_fstream.h,v
retrieving revision 1.1
diff -u -3 -p -r1.1 std_fstream.h
--- std_fstream.h	2002/01/12 00:50:04	1.1
+++ std_fstream.h	2002/01/28 21:59:31
@@ -1,6 +1,7 @@
 // File based streams -*- C++ -*-
 
-// Copyright (C) 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
+// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002
+// Free Software Foundation, Inc.
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
@@ -31,9 +32,9 @@
 // ISO C++ 14882: 27.8  File-based streams
 //
 
-/** @file std_fstream.h
- *  This is an internal header file, included by other library headers.
- *  You should not attempt to use it directly.
+/** @file fstream
+ *  This is a Standard C++ Library header.  You should @c #include this header
+ *  in your programs, rather than any of the "st[dl]_*.h" implementation files.
  */
 
 #ifndef _CPP_FSTREAM
Index: include/std/std_functional.h
===================================================================
RCS file: /cvs/gcc/gcc/libstdc++-v3/include/std/std_functional.h,v
retrieving revision 1.1
diff -u -3 -p -r1.1 std_functional.h
--- std_functional.h	2002/01/12 00:50:04	1.1
+++ std_functional.h	2002/01/28 21:59:31
@@ -1,6 +1,6 @@
 // <functional> -*- C++ -*-
 
-// Copyright (C) 2001 Free Software Foundation, Inc.
+// Copyright (C) 2001, 2002 Free Software Foundation, Inc.
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
@@ -41,9 +41,9 @@
  *
  */
 
-/** @file std_functional.h
- *  This is an internal header file, included by other library headers.
- *  You should not attempt to use it directly.
+/** @file functional
+ *  This is a Standard C++ Library header.  You should @c #include this header
+ *  in your programs, rather than any of the "st[dl]_*.h" implementation files.
  */
 
 #ifndef _CPP_FUNCTIONAL
Index: include/std/std_iomanip.h
===================================================================
RCS file: /cvs/gcc/gcc/libstdc++-v3/include/std/std_iomanip.h,v
retrieving revision 1.1
diff -u -3 -p -r1.1 std_iomanip.h
--- std_iomanip.h	2002/01/12 00:50:04	1.1
+++ std_iomanip.h	2002/01/28 21:59:31
@@ -1,6 +1,6 @@
 // Standard stream manipulators -*- C++ -*-
 
-// Copyright (C) 1997-1999, 2001 Free Software Foundation, Inc.
+// Copyright (C) 1997, 1998, 1999, 2001, 2002 Free Software Foundation, Inc.
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
@@ -31,9 +31,9 @@
 // ISO C++ 14882: 27.6.3  Standard manipulators
 //
 
-/** @file std_iomanip.h
- *  This is an internal header file, included by other library headers.
- *  You should not attempt to use it directly.
+/** @file iomanip
+ *  This is a Standard C++ Library header.  You should @c #include this header
+ *  in your programs, rather than any of the "st[dl]_*.h" implementation files.
  */
 
 #ifndef _CPP_IOMANIP
Index: include/std/std_ios.h
===================================================================
RCS file: /cvs/gcc/gcc/libstdc++-v3/include/std/std_ios.h,v
retrieving revision 1.1
diff -u -3 -p -r1.1 std_ios.h
--- std_ios.h	2002/01/12 00:50:04	1.1
+++ std_ios.h	2002/01/28 21:59:31
@@ -1,6 +1,6 @@
 // Iostreams base classes -*- C++ -*-
 
-// Copyright (C) 1997, 1998, 1999, 2001 Free Software Foundation, Inc.
+// Copyright (C) 1997, 1998, 1999, 2001, 2002 Free Software Foundation, Inc.
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
@@ -31,9 +31,9 @@
 // ISO C++ 14882: 27.4  Iostreams base classes
 //
 
-/** @file std_ios.h
- *  This is an internal header file, included by other library headers.
- *  You should not attempt to use it directly.
+/** @file ios
+ *  This is a Standard C++ Library header.  You should @c #include this header
+ *  in your programs, rather than any of the "st[dl]_*.h" implementation files.
  */
 
 #ifndef _CPP_IOS
Index: include/std/std_iosfwd.h
===================================================================
RCS file: /cvs/gcc/gcc/libstdc++-v3/include/std/std_iosfwd.h,v
retrieving revision 1.1
diff -u -3 -p -r1.1 std_iosfwd.h
--- std_iosfwd.h	2002/01/12 00:50:04	1.1
+++ std_iosfwd.h	2002/01/28 21:59:31
@@ -1,6 +1,6 @@
 // Forwarding declarations -*- C++ -*-
 
-// Copyright (C) 1997, 1998, 1999, 2001 Free Software Foundation, Inc.
+// Copyright (C) 1997, 1998, 1999, 2001, 2002 Free Software Foundation, Inc.
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
@@ -31,9 +31,9 @@
 // ISO C++ 14882: 27.2  Forward declarations
 //
 
-/** @file std_iosfwd.h
- *  This is an internal header file, included by other library headers.
- *  You should not attempt to use it directly.
+/** @file iosfwd
+ *  This is a Standard C++ Library header.  You should @c #include this header
+ *  in your programs, rather than any of the "st[dl]_*.h" implementation files.
  */
 
 #ifndef _CPP_IOSFWD
Index: include/std/std_iostream.h
===================================================================
RCS file: /cvs/gcc/gcc/libstdc++-v3/include/std/std_iostream.h,v
retrieving revision 1.1
diff -u -3 -p -r1.1 std_iostream.h
--- std_iostream.h	2002/01/12 00:50:04	1.1
+++ std_iostream.h	2002/01/28 21:59:31
@@ -1,6 +1,6 @@
 // Standard iostream objects -*- C++ -*-
 
-// Copyright (C) 1997, 1998, 1999, 2001 Free Software Foundation, Inc.
+// Copyright (C) 1997, 1998, 1999, 2001, 2002 Free Software Foundation, Inc.
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
@@ -31,9 +31,9 @@
 // ISO C++ 14882: 27.3  Standard iostream objects
 //
 
-/** @file std_iostream.h
- *  This is an internal header file, included by other library headers.
- *  You should not attempt to use it directly.
+/** @file iostream
+ *  This is a Standard C++ Library header.  You should @c #include this header
+ *  in your programs, rather than any of the "st[dl]_*.h" implementation files.
  */
 
 #ifndef _CPP_IOSTREAM
Index: include/std/std_istream.h
===================================================================
RCS file: /cvs/gcc/gcc/libstdc++-v3/include/std/std_istream.h,v
retrieving revision 1.1
diff -u -3 -p -r1.1 std_istream.h
--- std_istream.h	2002/01/12 00:50:04	1.1
+++ std_istream.h	2002/01/28 21:59:31
@@ -1,6 +1,6 @@
 // Input streams -*- C++ -*-
 
-// Copyright (C) 1997-1999, 2001 Free Software Foundation, Inc.
+// Copyright (C) 1997, 1998, 1999, 2001, 2002 Free Software Foundation, Inc.
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
@@ -31,9 +31,9 @@
 // ISO C++ 14882: 27.6.1  Input streams
 //
 
-/** @file std_istream.h
- *  This is an internal header file, included by other library headers.
- *  You should not attempt to use it directly.
+/** @file istream
+ *  This is a Standard C++ Library header.  You should @c #include this header
+ *  in your programs, rather than any of the "st[dl]_*.h" implementation files.
  */
 
 #ifndef _CPP_ISTREAM
Index: include/std/std_iterator.h
===================================================================
RCS file: /cvs/gcc/gcc/libstdc++-v3/include/std/std_iterator.h,v
retrieving revision 1.1
diff -u -3 -p -r1.1 std_iterator.h
--- std_iterator.h	2002/01/12 00:50:04	1.1
+++ std_iterator.h	2002/01/28 21:59:31
@@ -1,6 +1,6 @@
 // <iterator> -*- C++ -*-
 
-// Copyright (C) 2001 Free Software Foundation, Inc.
+// Copyright (C) 2001, 2002 Free Software Foundation, Inc.
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
@@ -53,9 +53,9 @@
  * purpose.  It is provided "as is" without express or implied warranty.
  */
 
-/** @file std_iterator.h
- *  This is an internal header file, included by other library headers.
- *  You should not attempt to use it directly.
+/** @file iterator
+ *  This is a Standard C++ Library header.  You should @c #include this header
+ *  in your programs, rather than any of the "st[dl]_*.h" implementation files.
  */
 
 #ifndef _CPP_ITERATOR
Index: include/std/std_limits.h
===================================================================
RCS file: /cvs/gcc/gcc/libstdc++-v3/include/std/std_limits.h,v
retrieving revision 1.2
diff -u -3 -p -r1.2 std_limits.h
--- std_limits.h	2002/01/17 15:46:48	1.2
+++ std_limits.h	2002/01/28 21:59:33
@@ -1,6 +1,6 @@
 // The template and inlines for the -*- C++ -*- numeric_limits classes.
 
-// Copyright (C) 1999-2001 Free Software Foundation, Inc.
+// Copyright (C) 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
@@ -35,9 +35,9 @@
 // 18.2.1
 //
 
-/** @file std_limits.h
- *  This is an internal header file, included by other library headers.
- *  You should not attempt to use it directly.
+/** @file limits
+ *  This is a Standard C++ Library header.  You should @c #include this header
+ *  in your programs, rather than any of the "st[dl]_*.h" implementation files.
  */
 
 #ifndef _CPP_NUMERIC_LIMITS
Index: include/std/std_list.h
===================================================================
RCS file: /cvs/gcc/gcc/libstdc++-v3/include/std/std_list.h,v
retrieving revision 1.1
diff -u -3 -p -r1.1 std_list.h
--- std_list.h	2002/01/12 00:50:04	1.1
+++ std_list.h	2002/01/28 21:59:33
@@ -1,6 +1,6 @@
 // <list> -*- C++ -*-
 
-// Copyright (C) 2001 Free Software Foundation, Inc.
+// Copyright (C) 2001, 2002 Free Software Foundation, Inc.
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
@@ -53,9 +53,9 @@
  * purpose.  It is provided "as is" without express or implied warranty.
  */
 
-/** @file std_list.h
- *  This is an internal header file, included by other library headers.
- *  You should not attempt to use it directly.
+/** @file list
+ *  This is a Standard C++ Library header.  You should @c #include this header
+ *  in your programs, rather than any of the "st[dl]_*.h" implementation files.
  */
 
 #ifndef _CPP_LIST
Index: include/std/std_locale.h
===================================================================
RCS file: /cvs/gcc/gcc/libstdc++-v3/include/std/std_locale.h,v
retrieving revision 1.1
diff -u -3 -p -r1.1 std_locale.h
--- std_locale.h	2002/01/12 00:50:04	1.1
+++ std_locale.h	2002/01/28 21:59:33
@@ -1,6 +1,6 @@
 // Locale support -*- C++ -*-
 
-// Copyright (C) 1997-1999 Free Software Foundation, Inc.
+// Copyright (C) 1997, 1998, 1999, 2002 Free Software Foundation, Inc.
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
@@ -31,9 +31,9 @@
 // ISO C++ 14882: 22.1  Locales
 //
 
-/** @file std_locale.h
- *  This is an internal header file, included by other library headers.
- *  You should not attempt to use it directly.
+/** @file locale
+ *  This is a Standard C++ Library header.  You should @c #include this header
+ *  in your programs, rather than any of the "st[dl]_*.h" implementation files.
  */
 
 #ifndef _CPP_LOCALE
Index: include/std/std_map.h
===================================================================
RCS file: /cvs/gcc/gcc/libstdc++-v3/include/std/std_map.h,v
retrieving revision 1.1
diff -u -3 -p -r1.1 std_map.h
--- std_map.h	2002/01/12 00:50:04	1.1
+++ std_map.h	2002/01/28 21:59:33
@@ -1,6 +1,6 @@
 // <map> -*- C++ -*-
 
-// Copyright (C) 2001 Free Software Foundation, Inc.
+// Copyright (C) 2001, 2002 Free Software Foundation, Inc.
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
@@ -53,9 +53,9 @@
  * purpose.  It is provided "as is" without express or implied warranty.
  */
 
-/** @file std_map.h
- *  This is an internal header file, included by other library headers.
- *  You should not attempt to use it directly.
+/** @file map
+ *  This is a Standard C++ Library header.  You should @c #include this header
+ *  in your programs, rather than any of the "st[dl]_*.h" implementation files.
  */
 
 #ifndef _CPP_MAP
Index: include/std/std_memory.h
===================================================================
RCS file: /cvs/gcc/gcc/libstdc++-v3/include/std/std_memory.h,v
retrieving revision 1.2
diff -u -3 -p -r1.2 std_memory.h
--- std_memory.h	2002/01/25 04:14:40	1.2
+++ std_memory.h	2002/01/28 21:59:33
@@ -41,9 +41,9 @@
  *
  */
 
-/** @file std_memory.h
- *  This is an internal header file, included by other library headers.
- *  You should not attempt to use it directly.
+/** @file memory
+ *  This is a Standard C++ Library header.  You should @c #include this header
+ *  in your programs, rather than any of the "st[dl]_*.h" implementation files.
  */
 
 #ifndef _CPP_MEMORY
Index: include/std/std_numeric.h
===================================================================
RCS file: /cvs/gcc/gcc/libstdc++-v3/include/std/std_numeric.h,v
retrieving revision 1.1
diff -u -3 -p -r1.1 std_numeric.h
--- std_numeric.h	2002/01/12 00:50:04	1.1
+++ std_numeric.h	2002/01/28 21:59:33
@@ -1,6 +1,6 @@
 // <numeric> -*- C++ -*-
 
-// Copyright (C) 2001 Free Software Foundation, Inc.
+// Copyright (C) 2001, 2002 Free Software Foundation, Inc.
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
@@ -53,9 +53,9 @@
  * purpose.  It is provided "as is" without express or implied warranty.
  */
 
-/** @file std_numeric.h
- *  This is an internal header file, included by other library headers.
- *  You should not attempt to use it directly.
+/** @file numeric
+ *  This is a Standard C++ Library header.  You should @c #include this header
+ *  in your programs, rather than any of the "st[dl]_*.h" implementation files.
  */
 
 #ifndef _CPP_NUMERIC
Index: include/std/std_ostream.h
===================================================================
RCS file: /cvs/gcc/gcc/libstdc++-v3/include/std/std_ostream.h,v
retrieving revision 1.2
diff -u -3 -p -r1.2 std_ostream.h
--- std_ostream.h	2002/01/23 03:50:49	1.2
+++ std_ostream.h	2002/01/28 21:59:33
@@ -32,9 +32,9 @@
 // ISO C++ 14882: 27.6.2  Output streams
 //
 
-/** @file std_ostream.h
- *  This is an internal header file, included by other library headers.
- *  You should not attempt to use it directly.
+/** @file ostream
+ *  This is a Standard C++ Library header.  You should @c #include this header
+ *  in your programs, rather than any of the "st[dl]_*.h" implementation files.
  */
 
 #ifndef _CPP_OSTREAM
Index: include/std/std_queue.h
===================================================================
RCS file: /cvs/gcc/gcc/libstdc++-v3/include/std/std_queue.h,v
retrieving revision 1.1
diff -u -3 -p -r1.1 std_queue.h
--- std_queue.h	2002/01/12 00:50:04	1.1
+++ std_queue.h	2002/01/28 21:59:33
@@ -1,6 +1,6 @@
 // <queue> -*- C++ -*-
 
-// Copyright (C) 2001 Free Software Foundation, Inc.
+// Copyright (C) 2001, 2002 Free Software Foundation, Inc.
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
@@ -53,9 +53,9 @@
  * purpose.  It is provided "as is" without express or implied warranty.
  */
 
-/** @file std_queue.h
- *  This is an internal header file, included by other library headers.
- *  You should not attempt to use it directly.
+/** @file queue
+ *  This is a Standard C++ Library header.  You should @c #include this header
+ *  in your programs, rather than any of the "st[dl]_*.h" implementation files.
  */
 
 #ifndef _CPP_QUEUE
Index: include/std/std_set.h
===================================================================
RCS file: /cvs/gcc/gcc/libstdc++-v3/include/std/std_set.h,v
retrieving revision 1.1
diff -u -3 -p -r1.1 std_set.h
--- std_set.h	2002/01/12 00:50:04	1.1
+++ std_set.h	2002/01/28 21:59:33
@@ -1,6 +1,6 @@
 // <set> -*- C++ -*-
 
-// Copyright (C) 2001 Free Software Foundation, Inc.
+// Copyright (C) 2001, 2002 Free Software Foundation, Inc.
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
@@ -53,9 +53,9 @@
  * purpose.  It is provided "as is" without express or implied warranty.
  */
 
-/** @file std_set.h
- *  This is an internal header file, included by other library headers.
- *  You should not attempt to use it directly.
+/** @file set
+ *  This is a Standard C++ Library header.  You should @c #include this header
+ *  in your programs, rather than any of the "st[dl]_*.h" implementation files.
  */
 
 #ifndef _CPP_SET
Index: include/std/std_sstream.h
===================================================================
RCS file: /cvs/gcc/gcc/libstdc++-v3/include/std/std_sstream.h,v
retrieving revision 1.1
diff -u -3 -p -r1.1 std_sstream.h
--- std_sstream.h	2002/01/12 00:50:04	1.1
+++ std_sstream.h	2002/01/28 21:59:34
@@ -1,6 +1,6 @@
 // String based streams -*- C++ -*-
 
-// Copyright (C) 1997-1999 Free Software Foundation, Inc.
+// Copyright (C) 1997, 1998, 1999, 2002 Free Software Foundation, Inc.
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
@@ -31,9 +31,9 @@
 // ISO C++ 14882: 27.7  String-based streams
 //
 
-/** @file std_sstream.h
- *  This is an internal header file, included by other library headers.
- *  You should not attempt to use it directly.
+/** @file sstream
+ *  This is a Standard C++ Library header.  You should @c #include this header
+ *  in your programs, rather than any of the "st[dl]_*.h" implementation files.
  */
 
 #ifndef _CPP_SSTREAM
Index: include/std/std_stack.h
===================================================================
RCS file: /cvs/gcc/gcc/libstdc++-v3/include/std/std_stack.h,v
retrieving revision 1.1
diff -u -3 -p -r1.1 std_stack.h
--- std_stack.h	2002/01/12 00:50:04	1.1
+++ std_stack.h	2002/01/28 21:59:34
@@ -1,6 +1,6 @@
 // <stack> -*- C++ -*-
 
-// Copyright (C) 2001 Free Software Foundation, Inc.
+// Copyright (C) 2001, 2002 Free Software Foundation, Inc.
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
@@ -53,9 +53,9 @@
  * purpose.  It is provided "as is" without express or implied warranty.
  */
 
-/** @file std_stack.h
- *  This is an internal header file, included by other library headers.
- *  You should not attempt to use it directly.
+/** @file stack
+ *  This is a Standard C++ Library header.  You should @c #include this header
+ *  in your programs, rather than any of the "st[dl]_*.h" implementation files.
  */
 
 #ifndef _CPP_STACK
Index: include/std/std_stdexcept.h
===================================================================
RCS file: /cvs/gcc/gcc/libstdc++-v3/include/std/std_stdexcept.h,v
retrieving revision 1.1
diff -u -3 -p -r1.1 std_stdexcept.h
--- std_stdexcept.h	2002/01/12 00:50:04	1.1
+++ std_stdexcept.h	2002/01/28 21:59:34
@@ -1,6 +1,6 @@
 // Standard exception classes  -*- C++ -*-
 
-// Copyright (C) 2001 Free Software Foundation, Inc.
+// Copyright (C) 2001, 2002 Free Software Foundation, Inc.
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
@@ -31,11 +31,9 @@
 // ISO C++ 19.1  Exception classes
 //
 
-/** @file std_stdexcept.h
- *  The Standard C++ library provides classes to be used to report certain
- *  errors (17.4.4.8) in C++ programs.  In the error model reflected in these
- *  classes, errors are divided into two broad categories: logic errors and
- *  runtime errors.
+/** @file stdexcept
+ *  This is a Standard C++ Library header.  You should @c #include this header
+ *  in your programs, rather than any of the "st[dl]_*.h" implementation files.
  */
 
 #ifndef _CPP_STDEXCEPT
Index: include/std/std_streambuf.h
===================================================================
RCS file: /cvs/gcc/gcc/libstdc++-v3/include/std/std_streambuf.h,v
retrieving revision 1.1
diff -u -3 -p -r1.1 std_streambuf.h
--- std_streambuf.h	2002/01/12 00:50:04	1.1
+++ std_streambuf.h	2002/01/28 21:59:34
@@ -1,6 +1,7 @@
 // Stream buffer classes -*- C++ -*-
 
-// Copyright (C) 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
+// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002
+// Free Software Foundation, Inc.
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
@@ -31,9 +32,9 @@
 // ISO C++ 14882: 27.5  Stream buffers
 //
 
-/** @file std_streambuf.h
- *  This is an internal header file, included by other library headers.
- *  You should not attempt to use it directly.
+/** @file streambuf
+ *  This is a Standard C++ Library header.  You should @c #include this header
+ *  in your programs, rather than any of the "st[dl]_*.h" implementation files.
  */
 
 #ifndef _CPP_STREAMBUF
Index: include/std/std_string.h
===================================================================
RCS file: /cvs/gcc/gcc/libstdc++-v3/include/std/std_string.h,v
retrieving revision 1.1
diff -u -3 -p -r1.1 std_string.h
--- std_string.h	2002/01/12 00:50:04	1.1
+++ std_string.h	2002/01/28 21:59:34
@@ -1,6 +1,7 @@
 // Components for manipulating sequences of characters -*- C++ -*-
 
-// Copyright (C) 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
+// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002
+// Free Software Foundation, Inc.
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
@@ -31,9 +32,9 @@
 // ISO C++ 14882: 21  Strings library
 //
 
-/** @file std_string.h
- *  This is an internal header file, included by other library headers.
- *  You should not attempt to use it directly.
+/** @file string
+ *  This is a Standard C++ Library header.  You should @c #include this header
+ *  in your programs, rather than any of the "st[dl]_*.h" implementation files.
  */
 
 #ifndef _CPP_STRING
Index: include/std/std_utility.h
===================================================================
RCS file: /cvs/gcc/gcc/libstdc++-v3/include/std/std_utility.h,v
retrieving revision 1.1
diff -u -3 -p -r1.1 std_utility.h
--- std_utility.h	2002/01/12 00:50:04	1.1
+++ std_utility.h	2002/01/28 21:59:34
@@ -1,6 +1,6 @@
 // <utility> -*- C++ -*-
 
-// Copyright (C) 2001 Free Software Foundation, Inc.
+// Copyright (C) 2001, 2002 Free Software Foundation, Inc.
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
@@ -53,9 +53,9 @@
  * purpose.  It is provided "as is" without express or implied warranty.
  */
 
-/** @file std_utility.h
- *  This is an internal header file, included by other library headers.
- *  You should not attempt to use it directly.
+/** @file utility
+ *  This is a Standard C++ Library header.  You should @c #include this header
+ *  in your programs, rather than any of the "st[dl]_*.h" implementation files.
  */
 
 #ifndef _CPP_UTILITY
Index: include/std/std_valarray.h
===================================================================
RCS file: /cvs/gcc/gcc/libstdc++-v3/include/std/std_valarray.h,v
retrieving revision 1.1
diff -u -3 -p -r1.1 std_valarray.h
--- std_valarray.h	2002/01/12 00:50:04	1.1
+++ std_valarray.h	2002/01/28 21:59:34
@@ -1,6 +1,7 @@
 // The template and inlines for the -*- C++ -*- valarray class.
 
-// Copyright (C) 1997-1999, 2000, 2001 Free Software Foundation, Inc.
+// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002
+// Free Software Foundation, Inc.
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
@@ -29,9 +30,9 @@
 
 // Written by Gabriel Dos Reis <Gabriel.Dos-Reis@DPTMaths.ENS-Cachan.Fr>
 
-/** @file std_valarray.h
- *  This is an internal header file, included by other library headers.
- *  You should not attempt to use it directly.
+/** @file valarray
+ *  This is a Standard C++ Library header.  You should @c #include this header
+ *  in your programs, rather than any of the "st[dl]_*.h" implementation files.
  */
 
 #ifndef _CPP_VALARRAY
Index: include/std/std_vector.h
===================================================================
RCS file: /cvs/gcc/gcc/libstdc++-v3/include/std/std_vector.h,v
retrieving revision 1.1
diff -u -3 -p -r1.1 std_vector.h
--- std_vector.h	2002/01/12 00:50:04	1.1
+++ std_vector.h	2002/01/28 21:59:34
@@ -1,6 +1,6 @@
 // <vector> -*- C++ -*-
 
-// Copyright (C) 2001 Free Software Foundation, Inc.
+// Copyright (C) 2001, 2002 Free Software Foundation, Inc.
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
@@ -53,9 +53,9 @@
  * purpose.  It is provided "as is" without express or implied warranty.
  */
 
-/** @file std_vector.h
- *  This is an internal header file, included by other library headers.
- *  You should not attempt to use it directly.
+/** @file vector
+ *  This is a Standard C++ Library header.  You should @c #include this header
+ *  in your programs, rather than any of the "st[dl]_*.h" implementation files.
  */
 
 #ifndef _CPP_VECTOR
Index: libsupc++/exception
===================================================================
RCS file: /cvs/gcc/gcc/libstdc++-v3/libsupc++/exception,v
retrieving revision 1.11
diff -u -3 -p -r1.11 exception
--- exception	2002/01/09 23:31:57	1.11
+++ exception	2002/01/28 21:59:34
@@ -101,10 +101,10 @@ namespace std 
 namespace __gnu_cxx
 {
   /** A replacement for the standard terminate_handler which prints more
-      information about the terminating exception (if any) on stderr.
-
+      information about the terminating exception (if any) on stderr.  Call
+      @code
         std::set_terminate (__gnu_cxx::__verbose_terminate_handler)
-
+      @endcode
       to use.  */
   void __verbose_terminate_handler ();
 } // namespace __gnu_cxx
Index: libsupc++/new
===================================================================
RCS file: /cvs/gcc/gcc/libstdc++-v3/libsupc++/new,v
retrieving revision 1.8
diff -u -3 -p -r1.8 new
--- new	2002/01/09 23:31:57	1.8
+++ new	2002/01/28 21:59:34
@@ -30,7 +30,7 @@
 // the GNU General Public License.
 
 /** @file new
- *  This header defines several functions to manage dynamic memory and
+ *  The header @c new defines several functions to manage dynamic memory and
  *  handling memory allocation errors; see
  *  http://gcc.gnu.org/onlinedocs/libstdc++/18_support/howto.html#4 for more.
  */
Index: testsuite/lib/libstdc++-v3-dg.exp
===================================================================
RCS file: /cvs/gcc/gcc/libstdc++-v3/testsuite/lib/libstdc++-v3-dg.exp,v
retrieving revision 1.12
diff -u -3 -p -r1.12 libstdc++-v3-dg.exp
--- libstdc++-v3-dg.exp	2001/12/18 23:34:06	1.12
+++ libstdc++-v3-dg.exp	2002/01/28 21:59:34
@@ -1,4 +1,4 @@
-#   Copyright (C) 2001 Free Software Foundation, Inc.
+# Copyright (C) 2001, 2002 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -79,7 +79,7 @@ proc libstdc++-v3-init { args } {
         }
       set cxx [transform "g++"]
       set cxxflags "-ggdb3 -DDEBUG_ASSERT"
-        set includes "-I./"
+      set includes "-I./"
     } else {
         # If we find a testsuite_flags file, we're testing in the build dir.
         set flags_file "${blddir}/testsuite_flags"



More information about the Libstdc++ mailing list