+2001-11-02 Phil Edwards <pme@gcc.gnu.org>
+
+ * config/io/c_io_stdio.h: Correct grammar in comments.
+ * docs/doxygen/Intro.3: Expand "top-level" man page.
+ * docs/doxygen/doxygroups.cc: New module definitions (comments).
+ * docs/doxygen/mainpage.doxy: Tweaks.
+ * docs/doxygen/run_doxygen: Update Doxygen version, massage man pages.
+
+ Add @file hooks so that headers are considered to be documented.
+ * include/bits/basic_ios.h, include/bits/basic_file.h,
+ include/bits/basic_string.h, include/bits/boost_concept_check.h,
+ include/bits/char_traits.h, include/bits/codecvt.h,
+ include/bits/concept_check.h, include/bits/cpp_type_traits.h,
+ include/bits/fpos.h, include/bits/gslice.h, include/bits/gslice_array.h,
+ include/bits/indirect_array.h, include/bits/ios_base.h,
+ include/bits/locale_facets.h, include/bits/localefwd.h,
+ include/bits/mask_array.h, include/bits/pthread_allocimpl.h,
+ include/bits/slice.h, include/bits/slice_array.h,
+ include/bits/std_algorithm.h, include/bits/std_bitset.h,
+ include/bits/std_complex.h, include/bits/std_deque.h,
+ include/bits/std_fstream.h, include/bits/std_functional.h,
+ include/bits/std_iomanip.h, include/bits/std_ios.h,
+ include/bits/std_iosfwd.h, include/bits/std_iostream.h,
+ include/bits/std_istream.h, include/bits/std_iterator.h,
+ include/bits/std_limits.h, include/bits/std_list.h,
+ include/bits/std_locale.h, include/bits/std_map.h,
+ include/bits/std_memory.h, include/bits/std_numeric.h,
+ include/bits/std_ostream.h, include/bits/std_queue.h,
+ include/bits/std_set.h, include/bits/std_sstream.h,
+ include/bits/std_stack.h, include/bits/std_streambuf.h,
+ include/bits/std_string.h, include/bits/std_utility.h,
+ include/bits/std_valarray.h, include/bits/std_vector.h,
+ include/bits/stl_algo.h, include/bits/stl_alloc.h,
+ include/bits/stl_bvector.h, include/bits/stl_construct.h,
+ include/bits/stl_deque.h, include/bits/stl_heap.h,
+ include/bits/stl_iterator.h, include/bits/stl_iterator_base_funcs.h,
+ include/bits/stl_iterator_base_types.h, include/bits/stl_list.h,
+ include/bits/stl_map.h, include/bits/stl_multimap.h,
+ include/bits/stl_multiset.h, include/bits/stl_numeric.h,
+ include/bits/stl_pair.h, include/bits/stl_pthread_alloc.h,
+ include/bits/stl_queue.h, include/bits/stl_raw_storage_iter.h,
+ include/bits/stl_relops.h, include/bits/stl_set.h,
+ include/bits/stl_stack.h, include/bits/stl_tempbuf.h,
+ include/bits/stl_threads.h, include/bits/stl_tree.h,
+ include/bits/stl_uninitialized.h, include/bits/stl_vector.h,
+ include/bits/stream_iterator.h, include/bits/streambuf_iterator.h,
+ include/bits/stringfwd.h, include/bits/type_traits.h,
+ include/bits/valarray_array.h, include/bits/valarray_meta.h:
+ Add hooks, tweak comments only.
+
+ * include/bits/stl_algobase.h (swap, min, iter_swap): Also
+ document these functions.
+ * include/bits/stl_function.h: Tweak link comments.
+
2001-11-01 Paolo Carlini <pcarlini@unitus.it>
Benjamin Kosnik <bkoz@redhat.com>
namespace std
{
-// from fpos.h
+// for fpos.h
typedef long streamoff;
typedef ptrdiff_t streamsize; // Signed integral type
#if _GLIBCPP_USE_WCHAR_T
typedef __gthread_mutex_t __c_lock;
-// from basic_file.h
+// for basic_file.h
#define _GLIBCPP_BASIC_FILE_ENCAPSULATION 1
typedef FILE __c_file_type;
-// from ios_base.h
+// for ios_base.h
struct __ios_flags
{
typedef short __int_type;
+.\" t
.\" This man page is released under the FDL as part of libstdc++-v3.
.TH Intro 3 "27 September 2001" "GNU libstdc++-v3" "Standard C++ Library"
.SH NAME
Intro \- Introduction to the GNU libstdc++-v3 man pages
.SH DESCRIPTION
-
-This should mention the man pages generated for modules.
-
+This man page serves as a brief introduction to the GNU implementation of
+the Standard C++ Library. For a better introduction and more complete
+documentation, see the
+.B libstdc++-v3
+homepage listed at the end.
+.P
+All standard library entities are declared within
+.I namespace std
+and have manual entries beginning with "std_". For example, to see
+documentation of the template class
+.I std::vector
+one would use "man std_vector".
+.P
+All the man pages are automatically generated by Doxygen. For more
+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'
+or Austern's.) These category pages are:
+.P
+.\" These are separated by ONE TAB. Nothing else. I don't like it either.
+.TS
+lB l.
+Arithmetic_functors Functors for basic math.
+Assoc_containers Key-based containers.
+Binder_functors Functors which "remember" an argument.
+Comparison_functors Functors wrapping built-in comparisons.
+Containers An introduction to container classes.
+Func_ptr_functors Functors for use with pointers to functions.
+Intro This page.
+Intro_functors An introduction to function objects, or functors.
+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::.
+Negation_functors Functors which negate their contents.
+SGIextensions A list of the extensions from the SGI STL subset.
+Sequences Linear containers.
+.TE
+.P
+The HTML documentation goes into more depth.
.SH FILES
-
-Lots. Wish I knew enough *roff syntax to list them nicely.
-
+Lots!
+.SS Standard Headers
+These headers will be found automatically, unless you instruct the compiler
+otherwise.
+.TS
+lB lB lB lB.
+<algorithm> <csignal> <iomanip> <ostream>
+<bitset> <cstdarg> <ios> <queue>
+<cassert> <cstddef> <iosfwd> <set>
+<cctype> <cstdio> <iostream> <sstream>
+<cerrno> <cstdlib> <istream> <stack>
+<cfloat> <cstring> <iterator> <stdexcept>
+<ciso>646 <ctime> <limits> <streambuf>
+<climits> <cwchar> <list> <string>
+<clocale> <cwctype> <locale> <utility>
+<cmath> <deque> <map> <valarray>
+<complex> <fstream> <memory> <vector>
+<csetjmp> <functional> <numeric>
+.TE
+.SS Backwards-Compatability Headers
+For GCC 3.0 these headers will be found automatically, unless you instruct
+the compiler otherwise. You should not depend on this, instead you should
+read FAQ 5.4 and use a
+.B backward/
+prefix.
+.TS
+lB lB lB lB.
+<algo.h> <hash_map.h> <map.h> <slist.h>
+<algobase.h> <hash_set.h> <multimap.h> <stack.h>
+<alloc.h> <hashtable.h> <multiset.h> <stream.h>
+<bvector.h> <heap.h> <new.h> <streambuf.h>
+<complex.h> <iomanip.h> <ostream.h> <strstream>
+<defalloc.h> <iostream.h> <pair.h> <strstream.h>
+<deque.h> <istream.h> <queue.h> <tempbuf.h>
+<fstream.h> <iterator.h> <rope.h> <tree.h>
+<function.h> <list.h> <set.h> <vector.h>
+.TE
+.SS Extension Headers
+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.
+.TS
+lB.
+<ext/hash_map>
+<ext/hash_set>
+<ext/rope>
+<ext/slist>
+.TE
+.SS Libraries
+.TP
+.I libstdc++.a
+The library implementation in static archive form. If you did not configure
+libstdc++-v3 to use shared libraries, this will always be used. Otherwise
+it will only be used if the user requests it.
+.TP
+.I libsupc++.a
+This library contains C++ language support routines. Usually you will never
+need to know about it, but it can be useful. See FAQ 2.5.
+.TP
+.I libstdc++.so[.N]
+The library implementation in shared object form. This will be used in
+preference to the static archive form by default. Currently N will either
+start with 3 or with 4, but your system vendor may change the name as they
+see fit. If N is in the 2.x series, then you are looking at the old
+libstdc++-v2 library, which we do not maintain.
+.TP
+.I libstdc++.la
+.TP
+.I libsupc++.la
+These are Libtool library files, and should only be used when working with
+that tool.
.SH CONFORMING TO
Almost conforming to
.BI "International Standard ISO/IEC 14882:1998(E), " "Programming Languages --- C++"
.UR
http://gcc.gnu.org/libstdc++/
.UE
-for the Frequently Asked Questions, online documentation, and more.
-
+for the Frequently Asked Questions, online documentation, and much, much more!
+.\" vim:ts=8:noet:
// source headers themselves. It is a ".cc" file for the sole cheesy reason
// that it triggers many different text editors into doing Nice Things when
// typing comments. However, it is mentioned nowhere except the *cfg.in files.
+// Pieces separated by '// //' lines will usually not be presented to the
+// user on the same page.
-/** @addtogroup SGIextensions
- *
- * Because libstdc++-v3 based its implementation of the STL subsections of
- * the library on the SGI 3.3 implementation, we inherited their extensions
- * as well.
- *
- * They are additionally documented in the
- * <a href="http://gcc.gnu.org/onlinedocs/libstdc++/documentation.html">
- * online documentation</a>, a copy of which is also shipped with the
- * library source code (in .../docs/html/documentation.html). You can also
- * read the documentation <a href="http://www.sgi.com/tech/stl/">on SGI's
- * site</a>, which is still running even though the code is not maintained.
- *
- * <strong>NB</strong> that the following notes are pulled from various
- * comments all over the place, so they may seem stilted.
- * <hr>
+// // // // // // // // // // // // // // // // // // // // // // // //
+/** @addtogroup SGIextensions STL extensions from SGI
+Because libstdc++-v3 based its implementation of the STL subsections of
+the library on the SGI 3.3 implementation, we inherited their extensions
+as well.
+
+They are additionally documented in the
+<a href="http://gcc.gnu.org/onlinedocs/libstdc++/documentation.html">
+online documentation</a>, a copy of which is also shipped with the
+library source code (in .../docs/html/documentation.html). You can also
+read the documentation <a href="http://www.sgi.com/tech/stl/">on SGI's
+site</a>, which is still running even though the code is not maintained.
+
+<strong>NB</strong> that the following notes are pulled from various
+comments all over the place, so they may seem stilted.
+<hr>
+*/
+
+// // // // // // // // // // // // // // // // // // // // // // // //
+// This is standalone because, unlike the functor introduction, there is no
+// single header file which serves as a base "all containers must include
+// this header". We do some quoting of 14882 here.
+/** @addtogroup Containers Containers
+Containers are collections of objects.
+
+A container may hold any type which meets certain requirements, but the type
+of contained object is chosen at compile time, and all objects in a given
+container must be of the same type. (Polymorphism is possible by declaring a
+container of pointers to a base class and then populating it with pointers to
+instances of derived classes. Variant value types such as the @c any class
+from <a href="http://www.boost.org/">Boost</a> can also be used.
+
+All contained types must be @c Assignable and @c CopyConstructible.
+Specific containers may place additional requirements on the types of
+their contained objects.
+
+Containers manage memory allocation and deallocation themselves when
+storing your objects. The objects are destroyed when the container is
+itself destroyed. Note that if you are storing pointers in a container,
+@c delete is @e not automatically called on the pointers before destroying them.
+
+All containers must meet certain requirements. They would be listed here
+except I'm not certain how much of 14882 can be reproduced without a
+copyright violation. Reproducing Tables 65 through 69 is a lot of typing...
+
+The standard containers are further refined into
+@link Sequences Sequences@endlink and
+@link Assoc_containers Associative Containers@endlink.
*/
+/** @addtogroup Sequences Sequences
+Sequences arrange a collection of objects into a strictly linear order.
+
+The differences between sequences are usually due to one or both of the
+following:
+ - memory management
+ - algorithmic complexity
+
+As an example of the first case, @c vector is required to use a contiguous
+memory layout, while other sequences such as @c deque are not.
+
+The prime reason for chosing one sequence over another should be based on
+the second category of differences, algorithmic complexity. For example, if
+you need to perform many inserts and removals from the middle of a sequence,
+@c list would be ideal. But if you need to perform constant-time access to
+random elements of the sequence, then @c list should not be used.
+*/
+
+/** @addtogroup Assoc_containers Associative Containers
+Associative containers allow fast retrieval of data based on keys.
+
+Each container type is parameterized on a @c Key type, and an ordering
+relation used to sort the elements of the container.
+*/
+
+// // // // // // // // // // // // // // // // // // // // // // // //
+
<li><a href="annotated.html">Compound List</a>
<li><a href="classes.html">Alphabetical List</a>
<li><a href="files.html">File List</a>
- <!-- Will be useful, but not yet. <li><a href="modules.html">Modules</a> -->
+ <li><a href="modules.html">Modules</a>
</ul>
</p>
<h2> Generating this file </h2>
-<p>This page is automatically generated. The Makefile rule <code> make
- doxygen </code> in the libstdc++-v3 build directory generates these pages
+<p>These HTML pages are automatically generated, along with the man pages.
+ The Makefile rule <code> 'make
+ doxygen' </code> in the libstdc++-v3 build directory generates these pages
using a tool called, appropriately enough, Doxygen. To learn more about
Doxygen, take a look at <a href="http://www.doxygen.org">the Doxygen
webpage</a>.
# We can check now that the version of doxygen is >= this variable.
-DOXYVER=1.2.6
+DOXYVER=1.2.10
doxygen=
find_doxygen() {
# 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>").
-#
-# File names with embedded spaces (EVIL!) need to be....? renamed or removed?
cd $outdir/man/man3 && {
echo :: Fixing up the man pages...
-# requires GNU tools
-find . -name "* *" -print0 | xargs -0 rm
-rm *.h.3
+# File names with embedded spaces (EVIL!) need to be....? renamed or removed?
+find . -name "* *" -print0 | xargs -0 rm # requires GNU tools
# can leave SGIextensions.3 alone, it's an okay name
mv s20_3_1_base.3 Intro_functors.3
mv s20_3_6_binder.3 Binder_functors.3
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
+
+# man pages are for functions/types/other entities, not source files directly
+find . -name "[a-z]*" -a ! -name "std_*" -print | xargs rm
+rm -f *.h.3 *config* *.cc.3 *.tcc.3
# 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,
// ISO C++ 14882: 27.8 File-based streams
//
+/** @file basic_file.h
+ * This is an internal header file, included by other library headers.
+ * You should not attempt to use it directly.
+ */
+
#ifndef _CPP_BASIC_FILE
#define _CPP_BASIC_FILE 1
#endif
{
#if _GLIBCPP_BASIC_FILE_ENCAPSULATION
+ // underlying data source/sink
__c_file_type* _M_cfile;
+ // true iff we opened _M_cfile, and thus must close it ourselves
bool _M_cfile_created;
#else
# ifdef _GLIBCPP_USE_WCHAR_T
// Used for opening the standard streams, cin, cout, cerr, clog,
// and their wide-stream equivalents. Instead of calling open, it
- // just sets __c_file_type->_fileno and the respective _flags bits, and
- // returns.
+ // just sets
+ // - for libio: __c_file_type->_fileno and the respective _flags bits
+ // - for stdio: _M_cfile = __file and some internal flags
+ // and returns.
__basic_file*
sys_open(__c_file_type* __file, ios_base::openmode __mode);
// invalidate any other reasons why the executable file might be covered by
// the GNU General Public License.
+/** @file basic_ios.h
+ * This is an internal header file, included by other library headers.
+ * You should not attempt to use it directly.
+ */
+
#ifndef _CPP_BITS_BASICIOS_H
#define _CPP_BITS_BASICIOS_H 1
// ISO C++ 14882: 21 Strings library
//
+/** @file basic_string.h
+ * This is an internal header file, included by other library headers.
+ * You should not attempt to use it directly.
+ */
+
#ifndef _CPP_BITS_STRING_H
#define _CPP_BITS_STRING_H 1
//
// GCC Note: based on version 1.12.0 of the Boost library.
+
+/** @file boost_concept_check.h
+ * This is an internal header file, included by other library headers.
+ * You should not attempt to use it directly.
+ */
+
#ifndef _GLIBCPP_BOOST_CONCEPT_CHECK
#define _GLIBCPP_BOOST_CONCEPT_CHECK 1
// ISO C++ 14882: 21 Strings library
//
+/** @file char_traits.h
+ * This is an internal header file, included by other library headers.
+ * You should not attempt to use it directly.
+ */
+
#ifndef _CPP_BITS_CHAR_TRAITS_H
#define _CPP_BITS_CHAR_TRAITS_H 1
// ISO C++ 14882: 22.2.1.5 Template class codecvt
//
-// Warning: this file is not meant for user inclusion. Use <locale>.
-
// Written by Benjamin Kosnik <bkoz@cygnus.com>
+/** @file codecvt.h
+ * This is an internal header file, included by other library headers.
+ * You should not attempt to use it directly.
+ */
+
#ifndef _CPP_BITS_CODECVT_H
#define _CPP_BITS_CODECVT_H 1
// invalidate any other reasons why the executable file might be covered by
// the GNU General Public License.
+/** @file concept_check.h
+ * This is an internal header file, included by other library headers.
+ * You should not attempt to use it directly.
+ */
+
#ifndef _GLIBCPP_CONCEPT_CHECK
#define _GLIBCPP_CONCEPT_CHECK 1
// Written by Gabriel Dos Reis <dosreis@cmla.ens-cachan.fr>
+/** @file cpp_type_traits.h
+ * This is an internal header file, included by other library headers.
+ * You should not attempt to use it directly.
+ */
+
#ifndef _CPP_BITS_CPP_TYPE_TRAITS_H
#define _CPP_BITS_CPP_TYPE_TRAITS_H 1
// ISO C++ 14882: 27 Input/output library
//
+/** @file fpos.h
+ * This is an internal header file, included by other library headers.
+ * You should not attempt to use it directly.
+ */
+
#ifndef _CPP_BITS_FPOS_H
#define _CPP_BITS_FPOS_H 1
// Written by Gabriel Dos Reis <Gabriel.Dos-Reis@DPTMaths.ENS-Cachan.Fr>
+/** @file gslice.h
+ * This is an internal header file, included by other library headers.
+ * You should not attempt to use it directly.
+ */
+
#ifndef _CPP_BITS_GSLICE_H
#define _CPP_BITS_GSLICE_H 1
// Written by Gabriel Dos Reis <Gabriel.Dos-Reis@DPTMaths.ENS-Cachan.Fr>
+/** @file gslice_array.h
+ * This is an internal header file, included by other library headers.
+ * You should not attempt to use it directly.
+ */
+
#ifndef _CPP_BITS_GSLICE_ARRAY
#define _CPP_BITS_GSLICE_ARRAY 1
// Written by Gabriel Dos Reis <Gabriel.Dos-Reis@DPTMaths.ENS-Cachan.Fr>
+/** @file indirect_array.h
+ * This is an internal header file, included by other library headers.
+ * You should not attempt to use it directly.
+ */
+
#ifndef _CPP_BITS_INDIRECT_ARRAY_H
#define _CPP_BITS_INDIRECT_ARRAY_H 1
// ISO C++ 14882: 27.8 File-based streams
//
+/** @file ios_base.h
+ * This is an internal header file, included by other library headers.
+ * You should not attempt to use it directly.
+ */
+
#ifndef _CPP_BITS_IOSBASE_H
#define _CPP_BITS_IOSBASE_H 1
// ISO C++ 14882: 22.1 Locales
//
-// Warning: this file is not meant for user inclusion. Use <locale>.
+/** @file locale_facets.h
+ * This is an internal header file, included by other library headers.
+ * You should not attempt to use it directly.
+ */
#ifndef _CPP_BITS_LOCFACETS_H
#define _CPP_BITS_LOCFACETS_H 1
// ISO C++ 14882: 22.1 Locales
//
+/** @file localefwd.h
+ * This is an internal header file, included by other library headers.
+ * You should not attempt to use it directly.
+ */
+
#ifndef _CPP_BITS_LOCCORE_H
#define _CPP_BITS_LOCCORE_H 1
// Written by Gabriel Dos Reis <Gabriel.Dos-Reis@DPTMaths.ENS-Cachan.Fr>
+/** @file mask_array.h
+ * This is an internal header file, included by other library headers.
+ * You should not attempt to use it directly.
+ */
+
#ifndef _CPP_BITS_MASK_ARRAY_H
#define _CPP_BITS_MASK_ARRAY_H 1
* purpose. It is provided "as is" without express or implied warranty.
*/
+/** @file pthread_allocimpl.h
+ * This is an internal header file, included by other library headers.
+ * You should not attempt to use it directly.
+ */
+
#ifndef _CPP_BITS_PTHREAD_ALLOCIMPL_H
#define _CPP_BITS_PTHREAD_ALLOCIMPL_H 1
// Written by Gabriel Dos Reis <Gabriel.Dos-Reis@DPTMaths.ENS-Cachan.Fr>
+/** @file slice.h
+ * This is an internal header file, included by other library headers.
+ * You should not attempt to use it directly.
+ */
+
#ifndef _CPP_BITS_SLICE_H
#define _CPP_BITS_SLICE_H 1
// Written by Gabriel Dos Reis <Gabriel.Dos-Reis@DPTMaths.ENS-Cachan.Fr>
+/** @file slice_array.h
+ * This is an internal header file, included by other library headers.
+ * You should not attempt to use it directly.
+ */
+
#ifndef _CPP_BITS_SLICE_ARRAY_H
#define _CPP_BITS_SLICE_ARRAY_H 1
* 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.
+ */
+
#ifndef _CPP_ALGORITHM
#define _CPP_ALGORITHM 1
* 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.
+ */
+
#ifndef __SGI_STL_BITSET
#define __SGI_STL_BITSET
// 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.
+ */
+
#ifndef _CPP_COMPLEX
#define _CPP_COMPLEX 1
* 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.
+ */
+
#ifndef _CPP_DEQUE
#define _CPP_DEQUE 1
// 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.
+ */
+
#ifndef _CPP_FSTREAM
#define _CPP_FSTREAM 1
*
*/
+/** @file std_functional.h
+ * This is an internal header file, included by other library headers.
+ * You should not attempt to use it directly.
+ */
+
#ifndef _CPP_FUNCTIONAL
#define _CPP_FUNCTIONAL 1
// 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.
+ */
+
#ifndef _CPP_IOMANIP
#define _CPP_IOMANIP 1
// 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.
+ */
+
#ifndef _CPP_IOS
#define _CPP_IOS 1
// 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.
+ */
+
#ifndef _CPP_IOSFWD
#define _CPP_IOSFWD 1
// 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.
+ */
+
#ifndef _CPP_IOSTREAM
#define _CPP_IOSTREAM 1
// 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.
+ */
+
#ifndef _CPP_ISTREAM
#define _CPP_ISTREAM 1
* 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.
+ */
+
#ifndef _CPP_ITERATOR
#define _CPP_ITERATOR 1
// 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.
+ */
+
#ifndef _CPP_NUMERIC_LIMITS
#define _CPP_NUMERIC_LIMITS 1
* 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.
+ */
+
#ifndef _CPP_LIST
#define _CPP_LIST 1
// 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.
+ */
+
#ifndef _CPP_LOCALE
#define _CPP_LOCALE 1
* 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.
+ */
+
#ifndef _CPP_MAP
#define _CPP_MAP 1
*
*/
+/** @file std_memory.h
+ * This is an internal header file, included by other library headers.
+ * You should not attempt to use it directly.
+ */
+
#ifndef _CPP_MEMORY
#define _CPP_MEMORY 1
* 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.
+ */
+
#ifndef _CPP_NUMERIC
#define _CPP_NUMERIC 1
// 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.
+ */
+
#ifndef _CPP_OSTREAM
#define _CPP_OSTREAM 1
* 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.
+ */
+
#ifndef _CPP_QUEUE
#define _CPP_QUEUE 1
* 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.
+ */
+
#ifndef _CPP_SET
#define _CPP_SET 1
// 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.
+ */
+
#ifndef _CPP_SSTREAM
#define _CPP_SSTREAM 1
* 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.
+ */
+
#ifndef _CPP_STACK
#define _CPP_STACK 1
// 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.
+ */
+
#ifndef _CPP_STREAMBUF
#define _CPP_STREAMBUF 1
// the same place. True for fstreams, false for sstreams.
bool _M_buf_unified;
- // This is based on _IO_FILE, just reordered to be more
+ // This is based on _IO_FILE, just reordered to be more
// consistent, and is intended to be the most minimal abstraction
// for an internal buffer.
// get == input == read
// 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.
+ */
+
#ifndef _CPP_STRING
#define _CPP_STRING 1
* 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.
+ */
+
#ifndef _CPP_UTILITY
#define _CPP_UTILITY 1
// 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.
+ */
+
#ifndef _CPP_VALARRAY
#define _CPP_VALARRAY 1
* 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.
+ */
+
#ifndef _CPP_VECTOR
#define _CPP_VECTOR 1
* purpose. It is provided "as is" without express or implied warranty.
*/
-/* NOTE: This is an internal header file, included by other STL headers.
- * You should not attempt to use it directly.
+/** @file stl_algo.h
+ * This is an internal header file, included by other library headers.
+ * You should not attempt to use it directly.
*/
#ifndef __SGI_STL_INTERNAL_ALGO_H
* purpose. It is provided "as is" without express or implied warranty.
*/
-/* NOTE: This is an internal header file, included by other STL headers.
- * You should not attempt to use it directly.
+/** @file stl_algobase.h
+ * This is an internal header file, included by other library headers.
+ * You should not attempt to use it directly.
*/
-
#ifndef __SGI_STL_INTERNAL_ALGOBASE_H
#define __SGI_STL_INTERNAL_ALGOBASE_H
// swap and iter_swap
+ /**
+ * @brief Swaps the contents of two iterators.
+ * @param a An iterator.
+ * @param b Another iterator.
+ * @return Nothing.
+ *
+ * This function swaps the values pointed to by two iterators, not the
+ * iterators themselves.
+ */
template<typename _ForwardIter1, typename _ForwardIter2>
inline void
iter_swap(_ForwardIter1 __a, _ForwardIter2 __b)
*__b = __tmp;
}
+ /**
+ * @brief Swaps two values.
+ * @param a A thing of arbitrary type.
+ * @param b Another thing of arbitrary type.
+ * @return Nothing.
+ *
+ * This is the simple classic generic implementation. It will work on
+ * any type which has a copy constructor and an assignment operator.
+ */
template<typename _Tp>
inline void
swap(_Tp& __a, _Tp& __b)
#undef min
#undef max
+ /**
+ * @brief This does what you think it does.
+ * @param a A thing of arbitrary type.
+ * @param b Another thing of arbitrary type.
+ * @return The lesser of the parameters.
+ *
+ * This is the simple classic generic implementation. It will work on
+ * temporary expressions, since they are only evaluated once, unlike a
+ * preprocessor macro.
+ */
template<typename _Tp>
inline const _Tp&
min(const _Tp& __a, const _Tp& __b)
* purpose. It is provided "as is" without express or implied warranty.
*/
-/* NOTE: This is an internal header file, included by other STL headers.
- * You should not attempt to use it directly.
+/** @file stl_alloc.h
+ * This is an internal header file, included by other library headers.
+ * You should not attempt to use it directly.
*/
#ifndef __SGI_STL_INTERNAL_ALLOC_H
* purpose. It is provided "as is" without express or implied warranty.
*/
-/* NOTE: This is an internal header file, included by other STL headers.
- * You should not attempt to use it directly.
+/** @file stl_bvector.h
+ * This is an internal header file, included by other library headers.
+ * You should not attempt to use it directly.
*/
#ifndef __SGI_STL_INTERNAL_BVECTOR_H
* purpose. It is provided "as is" without express or implied warranty.
*/
-/* NOTE: This is an internal header file, included by other STL headers.
- * You should not attempt to use it directly.
+/** @file stl_construct.h
+ * This is an internal header file, included by other library headers.
+ * You should not attempt to use it directly.
*/
#ifndef _CPP_BITS_STL_CONSTRUCT_H
* purpose. It is provided "as is" without express or implied warranty.
*/
-/* NOTE: This is an internal header file, included by other STL headers.
- * You should not attempt to use it directly.
+/** @file stl_deque.h
+ * This is an internal header file, included by other library headers.
+ * You should not attempt to use it directly.
*/
#include <bits/concept_check.h>
*/
/** @file stl_function.h
- * This is an internal header file, included by other STL headers. You
- * should not attempt to use it directly.
+ * This is an internal header file, included by other library headers.
+ * You should not attempt to use it directly.
*/
#ifndef __SGI_STL_INTERNAL_FUNCTION_H
* @{
*/
/**
- * This is one of the @link s20_3_1_base functor base classes @endlink.
+ * This is one of the @link s20_3_1_base functor base classes@endlink.
*/
template <class _Arg, class _Result>
struct unary_function {
};
/**
- * This is one of the @link s20_3_1_base functor base classes @endlink.
+ * This is one of the @link s20_3_1_base functor base classes@endlink.
*/
template <class _Arg1, class _Arg2, class _Result>
struct binary_function {
/** @defgroup s20_3_2_arithmetic Arithmetic Classes
* Because basic math often needs to be done during an algorithm, the library
* provides functors for those operations. See the documentation for
- * @link s20_3_1_base the base classes @endlink for examples of their use.
+ * @link s20_3_1_base the base classes@endlink for examples of their use.
*
* @{
*/
-/// One of the @link s20_3_2_arithmetic math functors @endlink.
+/// One of the @link s20_3_2_arithmetic math functors@endlink.
template <class _Tp>
struct plus : public binary_function<_Tp,_Tp,_Tp> {
_Tp operator()(const _Tp& __x, const _Tp& __y) const { return __x + __y; }
};
-/// One of the @link s20_3_2_arithmetic math functors @endlink.
+/// One of the @link s20_3_2_arithmetic math functors@endlink.
template <class _Tp>
struct minus : public binary_function<_Tp,_Tp,_Tp> {
_Tp operator()(const _Tp& __x, const _Tp& __y) const { return __x - __y; }
};
-/// One of the @link s20_3_2_arithmetic math functors @endlink.
+/// One of the @link s20_3_2_arithmetic math functors@endlink.
template <class _Tp>
struct multiplies : public binary_function<_Tp,_Tp,_Tp> {
_Tp operator()(const _Tp& __x, const _Tp& __y) const { return __x * __y; }
};
-/// One of the @link s20_3_2_arithmetic math functors @endlink.
+/// One of the @link s20_3_2_arithmetic math functors@endlink.
template <class _Tp>
struct divides : public binary_function<_Tp,_Tp,_Tp> {
_Tp operator()(const _Tp& __x, const _Tp& __y) const { return __x / __y; }
};
-/// One of the @link s20_3_2_arithmetic math functors @endlink.
+/// One of the @link s20_3_2_arithmetic math functors@endlink.
template <class _Tp>
struct modulus : public binary_function<_Tp,_Tp,_Tp>
{
_Tp operator()(const _Tp& __x, const _Tp& __y) const { return __x % __y; }
};
-/// One of the @link s20_3_2_arithmetic math functors @endlink.
+/// One of the @link s20_3_2_arithmetic math functors@endlink.
template <class _Tp>
struct negate : public unary_function<_Tp,_Tp>
{
*
* @{
*/
-/// One of the @link s20_3_3_comparisons comparison functors @endlink.
+/// One of the @link s20_3_3_comparisons comparison functors@endlink.
template <class _Tp>
struct equal_to : public binary_function<_Tp,_Tp,bool>
{
bool operator()(const _Tp& __x, const _Tp& __y) const { return __x == __y; }
};
-/// One of the @link s20_3_3_comparisons comparison functors @endlink.
+/// One of the @link s20_3_3_comparisons comparison functors@endlink.
template <class _Tp>
struct not_equal_to : public binary_function<_Tp,_Tp,bool>
{
bool operator()(const _Tp& __x, const _Tp& __y) const { return __x != __y; }
};
-/// One of the @link s20_3_3_comparisons comparison functors @endlink.
+/// One of the @link s20_3_3_comparisons comparison functors@endlink.
template <class _Tp>
struct greater : public binary_function<_Tp,_Tp,bool>
{
bool operator()(const _Tp& __x, const _Tp& __y) const { return __x > __y; }
};
-/// One of the @link s20_3_3_comparisons comparison functors @endlink.
+/// One of the @link s20_3_3_comparisons comparison functors@endlink.
template <class _Tp>
struct less : public binary_function<_Tp,_Tp,bool>
{
bool operator()(const _Tp& __x, const _Tp& __y) const { return __x < __y; }
};
-/// One of the @link s20_3_3_comparisons comparison functors @endlink.
+/// One of the @link s20_3_3_comparisons comparison functors@endlink.
template <class _Tp>
struct greater_equal : public binary_function<_Tp,_Tp,bool>
{
bool operator()(const _Tp& __x, const _Tp& __y) const { return __x >= __y; }
};
-/// One of the @link s20_3_3_comparisons comparison functors @endlink.
+/// One of the @link s20_3_3_comparisons comparison functors@endlink.
template <class _Tp>
struct less_equal : public binary_function<_Tp,_Tp,bool>
{
*
* @{
*/
-/// One of the @link s20_3_4_logical Boolean operations functors @endlink.
+/// One of the @link s20_3_4_logical Boolean operations functors@endlink.
template <class _Tp>
struct logical_and : public binary_function<_Tp,_Tp,bool>
{
bool operator()(const _Tp& __x, const _Tp& __y) const { return __x && __y; }
};
-/// One of the @link s20_3_4_logical Boolean operations functors @endlink.
+/// One of the @link s20_3_4_logical Boolean operations functors@endlink.
template <class _Tp>
struct logical_or : public binary_function<_Tp,_Tp,bool>
{
bool operator()(const _Tp& __x, const _Tp& __y) const { return __x || __y; }
};
-/// One of the @link s20_3_4_logical Boolean operations functors @endlink.
+/// One of the @link s20_3_4_logical Boolean operations functors@endlink.
template <class _Tp>
struct logical_not : public unary_function<_Tp,bool>
{
*
* @{
*/
-/// One of the @link s20_3_5_negators negation functors @endlink.
+/// One of the @link s20_3_5_negators negation functors@endlink.
template <class _Predicate>
class unary_negate
: public unary_function<typename _Predicate::argument_type, bool> {
}
};
-/// One of the @link s20_3_5_negators negation functors @endlink.
+/// One of the @link s20_3_5_negators negation functors@endlink.
template <class _Predicate>
inline unary_negate<_Predicate>
not1(const _Predicate& __pred)
return unary_negate<_Predicate>(__pred);
}
-/// One of the @link s20_3_5_negators negation functors @endlink.
+/// One of the @link s20_3_5_negators negation functors@endlink.
template <class _Predicate>
class binary_negate
: public binary_function<typename _Predicate::first_argument_type,
}
};
-/// One of the @link s20_3_5_negators negation functors @endlink.
+/// One of the @link s20_3_5_negators negation functors@endlink.
template <class _Predicate>
inline binary_negate<_Predicate>
not2(const _Predicate& __pred)
*
* @{
*/
-/// One of the @link s20_3_6_binder binder functors @endlink.
+/// One of the @link s20_3_6_binder binder functors@endlink.
template <class _Operation>
class binder1st
: public unary_function<typename _Operation::second_argument_type,
#endif
};
-/// One of the @link s20_3_6_binder binder functors @endlink.
+/// One of the @link s20_3_6_binder binder functors@endlink.
template <class _Operation, class _Tp>
inline binder1st<_Operation>
bind1st(const _Operation& __fn, const _Tp& __x)
return binder1st<_Operation>(__fn, _Arg1_type(__x));
}
-/// One of the @link s20_3_6_binder binder functors @endlink.
+/// One of the @link s20_3_6_binder binder functors@endlink.
template <class _Operation>
class binder2nd
: public unary_function<typename _Operation::first_argument_type,
#endif
};
-/// One of the @link s20_3_6_binder binder functors @endlink.
+/// One of the @link s20_3_6_binder binder functors@endlink.
template <class _Operation, class _Tp>
inline binder2nd<_Operation>
bind2nd(const _Operation& __fn, const _Tp& __x)
*
* @{
*/
-/// One of the @link s20_3_7_adaptors adaptors for function pointers @endlink.
+/// One of the @link s20_3_7_adaptors adaptors for function pointers@endlink.
template <class _Arg, class _Result>
class pointer_to_unary_function : public unary_function<_Arg, _Result> {
protected:
_Result operator()(_Arg __x) const { return _M_ptr(__x); }
};
-/// One of the @link s20_3_7_adaptors adaptors for function pointers @endlink.
+/// One of the @link s20_3_7_adaptors adaptors for function pointers@endlink.
template <class _Arg, class _Result>
inline pointer_to_unary_function<_Arg, _Result> ptr_fun(_Result (*__x)(_Arg))
{
return pointer_to_unary_function<_Arg, _Result>(__x);
}
-/// One of the @link s20_3_7_adaptors adaptors for function pointers @endlink.
+/// One of the @link s20_3_7_adaptors adaptors for function pointers@endlink.
template <class _Arg1, class _Arg2, class _Result>
class pointer_to_binary_function :
public binary_function<_Arg1,_Arg2,_Result> {
}
};
-/// One of the @link s20_3_7_adaptors adaptors for function pointers @endlink.
+/// One of the @link s20_3_7_adaptors adaptors for function pointers@endlink.
template <class _Arg1, class _Arg2, class _Result>
inline pointer_to_binary_function<_Arg1,_Arg2,_Result>
ptr_fun(_Result (*__x)(_Arg1, _Arg2)) {
*
* @{
*/
-/// One of the @link s20_3_8_memadaptors adaptors for member pointers @endlink.
+/// One of the @link s20_3_8_memadaptors adaptors for member pointers@endlink.
template <class _Ret, class _Tp>
class mem_fun_t : public unary_function<_Tp*,_Ret> {
public:
_Ret (_Tp::*_M_f)();
};
-/// One of the @link s20_3_8_memadaptors adaptors for member pointers @endlink.
+/// One of the @link s20_3_8_memadaptors adaptors for member pointers@endlink.
template <class _Ret, class _Tp>
class const_mem_fun_t : public unary_function<const _Tp*,_Ret> {
public:
_Ret (_Tp::*_M_f)() const;
};
-/// One of the @link s20_3_8_memadaptors adaptors for member pointers @endlink.
+/// One of the @link s20_3_8_memadaptors adaptors for member pointers@endlink.
template <class _Ret, class _Tp>
class mem_fun_ref_t : public unary_function<_Tp,_Ret> {
public:
_Ret (_Tp::*_M_f)();
};
-/// One of the @link s20_3_8_memadaptors adaptors for member pointers @endlink.
+/// One of the @link s20_3_8_memadaptors adaptors for member pointers@endlink.
template <class _Ret, class _Tp>
class const_mem_fun_ref_t : public unary_function<_Tp,_Ret> {
public:
_Ret (_Tp::*_M_f)() const;
};
-/// One of the @link s20_3_8_memadaptors adaptors for member pointers @endlink.
+/// One of the @link s20_3_8_memadaptors adaptors for member pointers@endlink.
template <class _Ret, class _Tp, class _Arg>
class mem_fun1_t : public binary_function<_Tp*,_Arg,_Ret> {
public:
_Ret (_Tp::*_M_f)(_Arg);
};
-/// One of the @link s20_3_8_memadaptors adaptors for member pointers @endlink.
+/// One of the @link s20_3_8_memadaptors adaptors for member pointers@endlink.
template <class _Ret, class _Tp, class _Arg>
class const_mem_fun1_t : public binary_function<const _Tp*,_Arg,_Ret> {
public:
_Ret (_Tp::*_M_f)(_Arg) const;
};
-/// One of the @link s20_3_8_memadaptors adaptors for member pointers @endlink.
+/// One of the @link s20_3_8_memadaptors adaptors for member pointers@endlink.
template <class _Ret, class _Tp, class _Arg>
class mem_fun1_ref_t : public binary_function<_Tp,_Arg,_Ret> {
public:
_Ret (_Tp::*_M_f)(_Arg);
};
-/// One of the @link s20_3_8_memadaptors adaptors for member pointers @endlink.
+/// One of the @link s20_3_8_memadaptors adaptors for member pointers@endlink.
template <class _Ret, class _Tp, class _Arg>
class const_mem_fun1_ref_t : public binary_function<_Tp,_Arg,_Ret> {
public:
_Ret (_Tp::*_M_f)(_Arg) const;
};
-/// One of the @link s20_3_8_memadaptors adaptors for member pointers @endlink.
+/// One of the @link s20_3_8_memadaptors adaptors for member pointers@endlink.
template <class _Tp>
class mem_fun_t<void, _Tp> : public unary_function<_Tp*,void> {
public:
void (_Tp::*_M_f)();
};
-/// One of the @link s20_3_8_memadaptors adaptors for member pointers @endlink.
+/// One of the @link s20_3_8_memadaptors adaptors for member pointers@endlink.
template <class _Tp>
class const_mem_fun_t<void, _Tp> : public unary_function<const _Tp*,void> {
public:
void (_Tp::*_M_f)() const;
};
-/// One of the @link s20_3_8_memadaptors adaptors for member pointers @endlink.
+/// One of the @link s20_3_8_memadaptors adaptors for member pointers@endlink.
template <class _Tp>
class mem_fun_ref_t<void, _Tp> : public unary_function<_Tp,void> {
public:
void (_Tp::*_M_f)();
};
-/// One of the @link s20_3_8_memadaptors adaptors for member pointers @endlink.
+/// One of the @link s20_3_8_memadaptors adaptors for member pointers@endlink.
template <class _Tp>
class const_mem_fun_ref_t<void, _Tp> : public unary_function<_Tp,void> {
public:
void (_Tp::*_M_f)() const;
};
-/// One of the @link s20_3_8_memadaptors adaptors for member pointers @endlink.
+/// One of the @link s20_3_8_memadaptors adaptors for member pointers@endlink.
template <class _Tp, class _Arg>
class mem_fun1_t<void, _Tp, _Arg> : public binary_function<_Tp*,_Arg,void> {
public:
void (_Tp::*_M_f)(_Arg);
};
-/// One of the @link s20_3_8_memadaptors adaptors for member pointers @endlink.
+/// One of the @link s20_3_8_memadaptors adaptors for member pointers@endlink.
template <class _Tp, class _Arg>
class const_mem_fun1_t<void, _Tp, _Arg>
: public binary_function<const _Tp*,_Arg,void> {
void (_Tp::*_M_f)(_Arg) const;
};
-/// One of the @link s20_3_8_memadaptors adaptors for member pointers @endlink.
+/// One of the @link s20_3_8_memadaptors adaptors for member pointers@endlink.
template <class _Tp, class _Arg>
class mem_fun1_ref_t<void, _Tp, _Arg>
: public binary_function<_Tp,_Arg,void> {
void (_Tp::*_M_f)(_Arg);
};
-/// One of the @link s20_3_8_memadaptors adaptors for member pointers @endlink.
+/// One of the @link s20_3_8_memadaptors adaptors for member pointers@endlink.
template <class _Tp, class _Arg>
class const_mem_fun1_ref_t<void, _Tp, _Arg>
: public binary_function<_Tp,_Arg,void> {
* purpose. It is provided "as is" without express or implied warranty.
*/
-/* NOTE: This is an internal header file, included by other STL headers.
- * You should not attempt to use it directly.
+/** @file stl_heap.h
+ * This is an internal header file, included by other library headers.
+ * You should not attempt to use it directly.
*/
#ifndef _CPP_BITS_STL_HEAP_H
* purpose. It is provided "as is" without express or implied warranty.
*/
-/* NOTE: This is an internal header file, included by other STL headers.
- * You should not attempt to use it directly.
+/** @file stl_iterator.h
+ * This is an internal header file, included by other library headers.
+ * You should not attempt to use it directly.
*/
#ifndef __SGI_STL_INTERNAL_ITERATOR_H
* purpose. It is provided "as is" without express or implied warranty.
*/
-/* NOTE: This is an internal header file, included by other STL headers.
- * You should not attempt to use it directly.
+/** @file stl_iterator_base_funcs.h
+ * This is an internal header file, included by other library headers.
+ * You should not attempt to use it directly.
*/
#ifndef __SGI_STL_INTERNAL_ITERATOR_BASE_FUNCS_H
* purpose. It is provided "as is" without express or implied warranty.
*/
-/* NOTE: This is an internal header file, included by other STL headers.
- * You should not attempt to use it directly.
+/** @file stl_iterator_base_types.h
+ * This is an internal header file, included by other library headers.
+ * You should not attempt to use it directly.
*/
#ifndef __SGI_STL_INTERNAL_ITERATOR_BASE_TYPES_H
* purpose. It is provided "as is" without express or implied warranty.
*/
-/* NOTE: This is an internal header file, included by other STL headers.
- * You should not attempt to use it directly.
+/** @file stl_list.h
+ * This is an internal header file, included by other library headers.
+ * You should not attempt to use it directly.
*/
#ifndef __SGI_STL_INTERNAL_LIST_H
* purpose. It is provided "as is" without express or implied warranty.
*/
-/* NOTE: This is an internal header file, included by other STL headers.
- * You should not attempt to use it directly.
+/** @file stl_map.h
+ * This is an internal header file, included by other library headers.
+ * You should not attempt to use it directly.
*/
#ifndef _CPP_BITS_STL_MAP_H
* purpose. It is provided "as is" without express or implied warranty.
*/
-/* NOTE: This is an internal header file, included by other STL headers.
- * You should not attempt to use it directly.
+/** @file stl_multimap.h
+ * This is an internal header file, included by other library headers.
+ * You should not attempt to use it directly.
*/
#ifndef __SGI_STL_INTERNAL_MULTIMAP_H
* purpose. It is provided "as is" without express or implied warranty.
*/
-/* NOTE: This is an internal header file, included by other STL headers.
- * You should not attempt to use it directly.
+/** @file stl_multiset.h
+ * This is an internal header file, included by other library headers.
+ * You should not attempt to use it directly.
*/
#ifndef __SGI_STL_INTERNAL_MULTISET_H
* purpose. It is provided "as is" without express or implied warranty.
*/
-/* NOTE: This is an internal header file, included by other STL headers.
- * You should not attempt to use it directly.
+/** @file stl_numeric.h
+ * This is an internal header file, included by other library headers.
+ * You should not attempt to use it directly.
*/
-
#ifndef _CPP_BITS_STL_NUMERIC_H
#define _CPP_BITS_STL_NUMERIC_H 1
*/
/** @file stl_pair.h
- * This is an internal header file, included by other STL headers. You
- * should not attempt to use it directly.
+ * This is an internal header file, included by other library headers.
+ * You should not attempt to use it directly.
*/
#ifndef __SGI_STL_INTERNAL_PAIR_H
* purpose. It is provided "as is" without express or implied warranty.
*/
+/** @file stl_pthread_alloc.h
+ * This is an internal header file, included by other library headers.
+ * You should not attempt to use it directly.
+ */
+
#ifndef _CPP_BITS_STL_PTHREAD_ALLOC_H
#define _CPP_BITS_STL_PTHREAD_ALLOC_H 1
* purpose. It is provided "as is" without express or implied warranty.
*/
-/* NOTE: This is an internal header file, included by other STL headers.
- * You should not attempt to use it directly.
+/** @file stl_queue.h
+ * This is an internal header file, included by other library headers.
+ * You should not attempt to use it directly.
*/
#ifndef __SGI_STL_INTERNAL_QUEUE_H
* purpose. It is provided "as is" without express or implied warranty.
*/
-/* NOTE: This is an internal header file, included by other STL headers.
- * You should not attempt to use it directly.
+/** @file stl_raw_storage_iter.h
+ * This is an internal header file, included by other library headers.
+ * You should not attempt to use it directly.
*/
#ifndef _CPP_BITS_STL_RAW_STORAGE_ITERATOR_H
*
*/
-/* NOTE: This is an internal header file, included by other STL headers.
- * You should not attempt to use it directly.
- */
-
-/**** libstdc++-v3 note: Inclusion of this file has been removed from
+/* +++ 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
* 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.
+ */
+
#ifndef _CPP_BITS_STL_RELOPS_H
#define _CPP_BITS_STL_RELOPS_H 1
* purpose. It is provided "as is" without express or implied warranty.
*/
-/* NOTE: This is an internal header file, included by other STL headers.
- * You should not attempt to use it directly.
+/** @file stl_set.h
+ * This is an internal header file, included by other library headers.
+ * You should not attempt to use it directly.
*/
#ifndef __SGI_STL_INTERNAL_SET_H
* purpose. It is provided "as is" without express or implied warranty.
*/
-/* NOTE: This is an internal header file, included by other STL headers.
- * You should not attempt to use it directly.
+/** @file stl_stack.h
+ * This is an internal header file, included by other library headers.
+ * You should not attempt to use it directly.
*/
#ifndef __SGI_STL_INTERNAL_STACK_H
* purpose. It is provided "as is" without express or implied warranty.
*/
-/* NOTE: This is an internal header file, included by other STL headers.
- * You should not attempt to use it directly.
+/** @file stl_tempbuf.h
+ * This is an internal header file, included by other library headers.
+ * You should not attempt to use it directly.
*/
#ifndef __SGI_STL_INTERNAL_TEMPBUF_H
* purpose. It is provided "as is" without express or implied warranty.
*/
-// WARNING: This is an internal header file, included by other C++
-// standard library headers. You should not attempt to use this header
-// file directly.
-// Stl_config.h should be included before this file.
+/** @file stl_threads.h
+ * This is an internal header file, included by other library headers.
+ * You should not attempt to use it directly.
+ */
#ifndef __SGI_STL_INTERNAL_THREADS_H
#define __SGI_STL_INTERNAL_THREADS_H
*
*/
-/* NOTE: This is an internal header file, included by other STL headers.
- * You should not attempt to use it directly.
+/** @file stl_tree.h
+ * This is an internal header file, included by other library headers.
+ * You should not attempt to use it directly.
*/
#ifndef __SGI_STL_INTERNAL_TREE_H
* purpose. It is provided "as is" without express or implied warranty.
*/
-/* NOTE: This is an internal header file, included by other STL headers.
- * You should not attempt to use it directly.
+/** @file stl_uninitialized.h
+ * This is an internal header file, included by other library headers.
+ * You should not attempt to use it directly.
*/
#ifndef _CPP_BITS_STL_UNINITIALIZED_H
* purpose. It is provided "as is" without express or implied warranty.
*/
-/* NOTE: This is an internal header file, included by other STL headers.
- * You should not attempt to use it directly.
+/** @file stl_vector.h
+ * This is an internal header file, included by other library headers.
+ * You should not attempt to use it directly.
*/
#ifndef __SGI_STL_INTERNAL_VECTOR_H
// invalidate any other reasons why the executable file might be covered by
// the GNU General Public License.
+/** @file stream_iterator.h
+ * This is an internal header file, included by other library headers.
+ * You should not attempt to use it directly.
+ */
+
#ifndef _CPP_BITS_STREAM_ITERATOR_H
#define _CPP_BITS_STREAM_ITERATOR_H 1
// XXX Should specialize copy, find algorithms for streambuf iterators.
+/** @file streambuf_iterator.h
+ * This is an internal header file, included by other library headers.
+ * You should not attempt to use it directly.
+ */
+
#ifndef _CPP_BITS_STREAMBUF_ITERATOR_H
#define _CPP_BITS_STREAMBUF_ITERATOR_H 1
// ISO C++ 14882: 21 Strings library
//
+/** @file stringfwd.h
+ * This is an internal header file, included by other library headers.
+ * You should not attempt to use it directly.
+ */
+
#ifndef _CPP_BITS_STRINGFWD_H
#define _CPP_BITS_STRINGFWD_H 1
* purpose. It is provided "as is" without express or implied warranty.
*/
+/** @file type_traits.h
+ * This is an internal header file, included by other library headers.
+ * You should not attempt to use it directly.
+ */
+
#ifndef _CPP_BITS_TYPE_TRAITS_H
#define _CPP_BITS_TYPE_TRAITS_H 1
// Written by Gabriel Dos Reis <Gabriel.Dos-Reis@DPTMaths.ENS-Cachan.Fr>
+/** @file valarray_array.h
+ * This is an internal header file, included by other library headers.
+ * You should not attempt to use it directly.
+ */
+
#ifndef _CPP_BITS_ARRAY_H
#define _CPP_BITS_ARRAY_H 1
// Written by Gabriel Dos Reis <Gabriel.Dos-Reis@cmla.ens-cachan.fr>
+/** @file valarray_meta.h
+ * This is an internal header file, included by other library headers.
+ * You should not attempt to use it directly.
+ */
+
#ifndef _CPP_VALARRAY_META_H
#define _CPP_VALARRAY_META_H 1