Commit 729e3d3f by Phil Edwards

c_io_stdio.h: Correct grammar in comments.

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.

From-SVN: r46717
parent 93a787dc
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> 2001-11-01 Paolo Carlini <pcarlini@unitus.it>
Benjamin Kosnik <bkoz@redhat.com> Benjamin Kosnik <bkoz@redhat.com>
......
...@@ -38,7 +38,7 @@ ...@@ -38,7 +38,7 @@
namespace std namespace std
{ {
// from fpos.h // for fpos.h
typedef long streamoff; typedef long streamoff;
typedef ptrdiff_t streamsize; // Signed integral type typedef ptrdiff_t streamsize; // Signed integral type
#if _GLIBCPP_USE_WCHAR_T #if _GLIBCPP_USE_WCHAR_T
...@@ -48,11 +48,11 @@ namespace std ...@@ -48,11 +48,11 @@ namespace std
typedef __gthread_mutex_t __c_lock; typedef __gthread_mutex_t __c_lock;
// from basic_file.h // for basic_file.h
#define _GLIBCPP_BASIC_FILE_ENCAPSULATION 1 #define _GLIBCPP_BASIC_FILE_ENCAPSULATION 1
typedef FILE __c_file_type; typedef FILE __c_file_type;
// from ios_base.h // for ios_base.h
struct __ios_flags struct __ios_flags
{ {
typedef short __int_type; typedef short __int_type;
......
.\" t
.\" This man page is released under the FDL as part of libstdc++-v3. .\" 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" .TH Intro 3 "27 September 2001" "GNU libstdc++-v3" "Standard C++ Library"
.SH NAME .SH NAME
Intro \- Introduction to the GNU libstdc++-v3 man pages Intro \- Introduction to the GNU libstdc++-v3 man pages
.SH DESCRIPTION .SH DESCRIPTION
This man page serves as a brief introduction to the GNU implementation of
This should mention the man pages generated for modules. 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 .SH FILES
Lots!
Lots. Wish I knew enough *roff syntax to list them nicely. .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 .SH CONFORMING TO
Almost conforming to Almost conforming to
.BI "International Standard ISO/IEC 14882:1998(E), " "Programming Languages --- C++" .BI "International Standard ISO/IEC 14882:1998(E), " "Programming Languages --- C++"
...@@ -20,5 +127,5 @@ Working Group, ...@@ -20,5 +127,5 @@ Working Group,
.UR .UR
http://gcc.gnu.org/libstdc++/ http://gcc.gnu.org/libstdc++/
.UE .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:
...@@ -3,22 +3,83 @@ ...@@ -3,22 +3,83 @@
// source headers themselves. It is a ".cc" file for the sole cheesy reason // 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 // that it triggers many different text editors into doing Nice Things when
// typing comments. However, it is mentioned nowhere except the *cfg.in files. // 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 // // // // // // // // // // // // // // // // // // // // // // // //
* /** @addtogroup SGIextensions STL extensions from SGI
* Because libstdc++-v3 based its implementation of the STL subsections of Because libstdc++-v3 based its implementation of the STL subsections of
* the library on the SGI 3.3 implementation, we inherited their extensions the library on the SGI 3.3 implementation, we inherited their extensions
* as well. as well.
*
* They are additionally documented in the They are additionally documented in the
* <a href="http://gcc.gnu.org/onlinedocs/libstdc++/documentation.html"> <a href="http://gcc.gnu.org/onlinedocs/libstdc++/documentation.html">
* online documentation</a>, a copy of which is also shipped with the online documentation</a>, a copy of which is also shipped with the
* library source code (in .../docs/html/documentation.html). You can also 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 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. site</a>, which is still running even though the code is not maintained.
*
* <strong>NB</strong> that the following notes are pulled from various <strong>NB</strong> that the following notes are pulled from various
* comments all over the place, so they may seem stilted. comments all over the place, so they may seem stilted.
* <hr> <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.
*/
// // // // // // // // // // // // // // // // // // // // // // // //
...@@ -17,13 +17,14 @@ ...@@ -17,13 +17,14 @@
<li><a href="annotated.html">Compound List</a> <li><a href="annotated.html">Compound List</a>
<li><a href="classes.html">Alphabetical List</a> <li><a href="classes.html">Alphabetical List</a>
<li><a href="files.html">File 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> </ul>
</p> </p>
<h2> Generating this file </h2> <h2> Generating this file </h2>
<p>This page is automatically generated. The Makefile rule <code> make <p>These HTML pages are automatically generated, along with the man pages.
doxygen </code> in the libstdc++-v3 build directory generates these 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 using a tool called, appropriately enough, Doxygen. To learn more about
Doxygen, take a look at <a href="http://www.doxygen.org">the Doxygen Doxygen, take a look at <a href="http://www.doxygen.org">the Doxygen
webpage</a>. webpage</a>.
......
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
# We can check now that the version of doxygen is >= this variable. # We can check now that the version of doxygen is >= this variable.
DOXYVER=1.2.6 DOXYVER=1.2.10
doxygen= doxygen=
find_doxygen() { find_doxygen() {
...@@ -126,14 +126,11 @@ chmod u+w $outdir ...@@ -126,14 +126,11 @@ chmod u+w $outdir
# man pages for doxygen modules need to be renamed (or deleted). And 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 # generated #include lines need to be changed from the internal names to the
# standard ones (e.g., "#include <stl_tempbuf.h>" -> "#include <memory>"). # 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 && { cd $outdir/man/man3 && {
echo :: Fixing up the man pages... echo :: Fixing up the man pages...
# requires GNU tools # File names with embedded spaces (EVIL!) need to be....? renamed or removed?
find . -name "* *" -print0 | xargs -0 rm find . -name "* *" -print0 | xargs -0 rm # requires GNU tools
rm *.h.3
# can leave SGIextensions.3 alone, it's an okay name # can leave SGIextensions.3 alone, it's an okay name
mv s20_3_1_base.3 Intro_functors.3 mv s20_3_1_base.3 Intro_functors.3
...@@ -144,6 +141,11 @@ mv s20_3_5_negators.3 Negation_functors.3 ...@@ -144,6 +141,11 @@ mv s20_3_5_negators.3 Negation_functors.3
mv s20_3_6_binder.3 Binder_functors.3 mv s20_3_6_binder.3 Binder_functors.3
mv s20_3_7_adaptors.3 Func_ptr_functors.3 mv s20_3_7_adaptors.3 Func_ptr_functors.3
mv s20_3_8_memadaptors.3 Member_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 # 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, # enough to rewrite all this, feel free. This only gets run once a century,
......
...@@ -31,6 +31,11 @@ ...@@ -31,6 +31,11 @@
// ISO C++ 14882: 27.8 File-based streams // 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 #ifndef _CPP_BASIC_FILE
#define _CPP_BASIC_FILE 1 #define _CPP_BASIC_FILE 1
...@@ -121,7 +126,9 @@ namespace std ...@@ -121,7 +126,9 @@ namespace std
#endif #endif
{ {
#if _GLIBCPP_BASIC_FILE_ENCAPSULATION #if _GLIBCPP_BASIC_FILE_ENCAPSULATION
// underlying data source/sink
__c_file_type* _M_cfile; __c_file_type* _M_cfile;
// true iff we opened _M_cfile, and thus must close it ourselves
bool _M_cfile_created; bool _M_cfile_created;
#else #else
# ifdef _GLIBCPP_USE_WCHAR_T # ifdef _GLIBCPP_USE_WCHAR_T
...@@ -142,8 +149,10 @@ namespace std ...@@ -142,8 +149,10 @@ namespace std
// Used for opening the standard streams, cin, cout, cerr, clog, // Used for opening the standard streams, cin, cout, cerr, clog,
// and their wide-stream equivalents. Instead of calling open, it // and their wide-stream equivalents. Instead of calling open, it
// just sets __c_file_type->_fileno and the respective _flags bits, and // just sets
// returns. // - for libio: __c_file_type->_fileno and the respective _flags bits
// - for stdio: _M_cfile = __file and some internal flags
// and returns.
__basic_file* __basic_file*
sys_open(__c_file_type* __file, ios_base::openmode __mode); sys_open(__c_file_type* __file, ios_base::openmode __mode);
......
...@@ -27,6 +27,11 @@ ...@@ -27,6 +27,11 @@
// invalidate any other reasons why the executable file might be covered by // invalidate any other reasons why the executable file might be covered by
// the GNU General Public License. // 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 #ifndef _CPP_BITS_BASICIOS_H
#define _CPP_BITS_BASICIOS_H 1 #define _CPP_BITS_BASICIOS_H 1
......
...@@ -31,6 +31,11 @@ ...@@ -31,6 +31,11 @@
// ISO C++ 14882: 21 Strings library // 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 #ifndef _CPP_BITS_STRING_H
#define _CPP_BITS_STRING_H 1 #define _CPP_BITS_STRING_H 1
......
...@@ -7,6 +7,12 @@ ...@@ -7,6 +7,12 @@
// //
// GCC Note: based on version 1.12.0 of the Boost library. // 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 #ifndef _GLIBCPP_BOOST_CONCEPT_CHECK
#define _GLIBCPP_BOOST_CONCEPT_CHECK 1 #define _GLIBCPP_BOOST_CONCEPT_CHECK 1
......
...@@ -31,6 +31,11 @@ ...@@ -31,6 +31,11 @@
// ISO C++ 14882: 21 Strings library // 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 #ifndef _CPP_BITS_CHAR_TRAITS_H
#define _CPP_BITS_CHAR_TRAITS_H 1 #define _CPP_BITS_CHAR_TRAITS_H 1
......
...@@ -31,10 +31,13 @@ ...@@ -31,10 +31,13 @@
// ISO C++ 14882: 22.2.1.5 Template class codecvt // 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> // 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 #ifndef _CPP_BITS_CODECVT_H
#define _CPP_BITS_CODECVT_H 1 #define _CPP_BITS_CODECVT_H 1
......
...@@ -27,6 +27,11 @@ ...@@ -27,6 +27,11 @@
// invalidate any other reasons why the executable file might be covered by // invalidate any other reasons why the executable file might be covered by
// the GNU General Public License. // 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 #ifndef _GLIBCPP_CONCEPT_CHECK
#define _GLIBCPP_CONCEPT_CHECK 1 #define _GLIBCPP_CONCEPT_CHECK 1
......
...@@ -29,6 +29,11 @@ ...@@ -29,6 +29,11 @@
// Written by Gabriel Dos Reis <dosreis@cmla.ens-cachan.fr> // 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 #ifndef _CPP_BITS_CPP_TYPE_TRAITS_H
#define _CPP_BITS_CPP_TYPE_TRAITS_H 1 #define _CPP_BITS_CPP_TYPE_TRAITS_H 1
......
...@@ -31,6 +31,11 @@ ...@@ -31,6 +31,11 @@
// ISO C++ 14882: 27 Input/output library // 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 #ifndef _CPP_BITS_FPOS_H
#define _CPP_BITS_FPOS_H 1 #define _CPP_BITS_FPOS_H 1
......
...@@ -29,6 +29,11 @@ ...@@ -29,6 +29,11 @@
// Written by Gabriel Dos Reis <Gabriel.Dos-Reis@DPTMaths.ENS-Cachan.Fr> // 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 #ifndef _CPP_BITS_GSLICE_H
#define _CPP_BITS_GSLICE_H 1 #define _CPP_BITS_GSLICE_H 1
......
...@@ -29,6 +29,11 @@ ...@@ -29,6 +29,11 @@
// Written by Gabriel Dos Reis <Gabriel.Dos-Reis@DPTMaths.ENS-Cachan.Fr> // 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 #ifndef _CPP_BITS_GSLICE_ARRAY
#define _CPP_BITS_GSLICE_ARRAY 1 #define _CPP_BITS_GSLICE_ARRAY 1
......
...@@ -29,6 +29,11 @@ ...@@ -29,6 +29,11 @@
// Written by Gabriel Dos Reis <Gabriel.Dos-Reis@DPTMaths.ENS-Cachan.Fr> // 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 #ifndef _CPP_BITS_INDIRECT_ARRAY_H
#define _CPP_BITS_INDIRECT_ARRAY_H 1 #define _CPP_BITS_INDIRECT_ARRAY_H 1
......
...@@ -31,6 +31,11 @@ ...@@ -31,6 +31,11 @@
// ISO C++ 14882: 27.8 File-based streams // 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 #ifndef _CPP_BITS_IOSBASE_H
#define _CPP_BITS_IOSBASE_H 1 #define _CPP_BITS_IOSBASE_H 1
......
...@@ -31,7 +31,10 @@ ...@@ -31,7 +31,10 @@
// ISO C++ 14882: 22.1 Locales // 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 #ifndef _CPP_BITS_LOCFACETS_H
#define _CPP_BITS_LOCFACETS_H 1 #define _CPP_BITS_LOCFACETS_H 1
......
...@@ -31,6 +31,11 @@ ...@@ -31,6 +31,11 @@
// ISO C++ 14882: 22.1 Locales // 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 #ifndef _CPP_BITS_LOCCORE_H
#define _CPP_BITS_LOCCORE_H 1 #define _CPP_BITS_LOCCORE_H 1
......
...@@ -29,6 +29,11 @@ ...@@ -29,6 +29,11 @@
// Written by Gabriel Dos Reis <Gabriel.Dos-Reis@DPTMaths.ENS-Cachan.Fr> // 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 #ifndef _CPP_BITS_MASK_ARRAY_H
#define _CPP_BITS_MASK_ARRAY_H 1 #define _CPP_BITS_MASK_ARRAY_H 1
......
...@@ -40,6 +40,11 @@ ...@@ -40,6 +40,11 @@
* purpose. It is provided "as is" without express or implied warranty. * 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 #ifndef _CPP_BITS_PTHREAD_ALLOCIMPL_H
#define _CPP_BITS_PTHREAD_ALLOCIMPL_H 1 #define _CPP_BITS_PTHREAD_ALLOCIMPL_H 1
......
...@@ -29,6 +29,11 @@ ...@@ -29,6 +29,11 @@
// Written by Gabriel Dos Reis <Gabriel.Dos-Reis@DPTMaths.ENS-Cachan.Fr> // 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 #ifndef _CPP_BITS_SLICE_H
#define _CPP_BITS_SLICE_H 1 #define _CPP_BITS_SLICE_H 1
......
...@@ -29,6 +29,11 @@ ...@@ -29,6 +29,11 @@
// Written by Gabriel Dos Reis <Gabriel.Dos-Reis@DPTMaths.ENS-Cachan.Fr> // 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 #ifndef _CPP_BITS_SLICE_ARRAY_H
#define _CPP_BITS_SLICE_ARRAY_H 1 #define _CPP_BITS_SLICE_ARRAY_H 1
......
...@@ -53,6 +53,11 @@ ...@@ -53,6 +53,11 @@
* purpose. It is provided "as is" without express or implied warranty. * 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 #ifndef _CPP_ALGORITHM
#define _CPP_ALGORITHM 1 #define _CPP_ALGORITHM 1
......
...@@ -40,6 +40,11 @@ ...@@ -40,6 +40,11 @@
* purpose. It is provided "as is" without express or implied warranty. * 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 #ifndef __SGI_STL_BITSET
#define __SGI_STL_BITSET #define __SGI_STL_BITSET
......
...@@ -34,6 +34,11 @@ ...@@ -34,6 +34,11 @@
// Improved by Gabriel Dos Reis <dosreis@cmla.ens-cachan.fr> // 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 #ifndef _CPP_COMPLEX
#define _CPP_COMPLEX 1 #define _CPP_COMPLEX 1
......
...@@ -53,6 +53,11 @@ ...@@ -53,6 +53,11 @@
* purpose. It is provided "as is" without express or implied warranty. * 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 #ifndef _CPP_DEQUE
#define _CPP_DEQUE 1 #define _CPP_DEQUE 1
......
...@@ -31,6 +31,11 @@ ...@@ -31,6 +31,11 @@
// ISO C++ 14882: 27.8 File-based streams // 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 #ifndef _CPP_FSTREAM
#define _CPP_FSTREAM 1 #define _CPP_FSTREAM 1
......
...@@ -41,6 +41,11 @@ ...@@ -41,6 +41,11 @@
* *
*/ */
/** @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 #ifndef _CPP_FUNCTIONAL
#define _CPP_FUNCTIONAL 1 #define _CPP_FUNCTIONAL 1
......
...@@ -31,6 +31,11 @@ ...@@ -31,6 +31,11 @@
// ISO C++ 14882: 27.6.3 Standard manipulators // 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 #ifndef _CPP_IOMANIP
#define _CPP_IOMANIP 1 #define _CPP_IOMANIP 1
......
...@@ -31,6 +31,11 @@ ...@@ -31,6 +31,11 @@
// ISO C++ 14882: 27.4 Iostreams base classes // 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 #ifndef _CPP_IOS
#define _CPP_IOS 1 #define _CPP_IOS 1
......
...@@ -31,6 +31,11 @@ ...@@ -31,6 +31,11 @@
// ISO C++ 14882: 27.2 Forward declarations // 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 #ifndef _CPP_IOSFWD
#define _CPP_IOSFWD 1 #define _CPP_IOSFWD 1
......
...@@ -31,6 +31,11 @@ ...@@ -31,6 +31,11 @@
// ISO C++ 14882: 27.3 Standard iostream objects // 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 #ifndef _CPP_IOSTREAM
#define _CPP_IOSTREAM 1 #define _CPP_IOSTREAM 1
......
...@@ -31,6 +31,11 @@ ...@@ -31,6 +31,11 @@
// ISO C++ 14882: 27.6.1 Input streams // 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 #ifndef _CPP_ISTREAM
#define _CPP_ISTREAM 1 #define _CPP_ISTREAM 1
......
...@@ -53,6 +53,11 @@ ...@@ -53,6 +53,11 @@
* purpose. It is provided "as is" without express or implied warranty. * 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 #ifndef _CPP_ITERATOR
#define _CPP_ITERATOR 1 #define _CPP_ITERATOR 1
......
...@@ -35,6 +35,11 @@ ...@@ -35,6 +35,11 @@
// 18.2.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 #ifndef _CPP_NUMERIC_LIMITS
#define _CPP_NUMERIC_LIMITS 1 #define _CPP_NUMERIC_LIMITS 1
......
...@@ -53,6 +53,11 @@ ...@@ -53,6 +53,11 @@
* purpose. It is provided "as is" without express or implied warranty. * 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 #ifndef _CPP_LIST
#define _CPP_LIST 1 #define _CPP_LIST 1
......
...@@ -31,6 +31,11 @@ ...@@ -31,6 +31,11 @@
// ISO C++ 14882: 22.1 Locales // 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 #ifndef _CPP_LOCALE
#define _CPP_LOCALE 1 #define _CPP_LOCALE 1
......
...@@ -53,6 +53,11 @@ ...@@ -53,6 +53,11 @@
* purpose. It is provided "as is" without express or implied warranty. * 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 #ifndef _CPP_MAP
#define _CPP_MAP 1 #define _CPP_MAP 1
......
...@@ -41,6 +41,11 @@ ...@@ -41,6 +41,11 @@
* *
*/ */
/** @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 #ifndef _CPP_MEMORY
#define _CPP_MEMORY 1 #define _CPP_MEMORY 1
......
...@@ -53,6 +53,11 @@ ...@@ -53,6 +53,11 @@
* purpose. It is provided "as is" without express or implied warranty. * 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 #ifndef _CPP_NUMERIC
#define _CPP_NUMERIC 1 #define _CPP_NUMERIC 1
......
...@@ -31,6 +31,11 @@ ...@@ -31,6 +31,11 @@
// ISO C++ 14882: 27.6.2 Output streams // 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 #ifndef _CPP_OSTREAM
#define _CPP_OSTREAM 1 #define _CPP_OSTREAM 1
......
...@@ -53,6 +53,11 @@ ...@@ -53,6 +53,11 @@
* purpose. It is provided "as is" without express or implied warranty. * 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 #ifndef _CPP_QUEUE
#define _CPP_QUEUE 1 #define _CPP_QUEUE 1
......
...@@ -53,6 +53,11 @@ ...@@ -53,6 +53,11 @@
* purpose. It is provided "as is" without express or implied warranty. * 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 #ifndef _CPP_SET
#define _CPP_SET 1 #define _CPP_SET 1
......
...@@ -31,6 +31,11 @@ ...@@ -31,6 +31,11 @@
// ISO C++ 14882: 27.7 String-based streams // 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 #ifndef _CPP_SSTREAM
#define _CPP_SSTREAM 1 #define _CPP_SSTREAM 1
......
...@@ -53,6 +53,11 @@ ...@@ -53,6 +53,11 @@
* purpose. It is provided "as is" without express or implied warranty. * 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 #ifndef _CPP_STACK
#define _CPP_STACK 1 #define _CPP_STACK 1
......
...@@ -31,6 +31,11 @@ ...@@ -31,6 +31,11 @@
// ISO C++ 14882: 27.5 Stream buffers // 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 #ifndef _CPP_STREAMBUF
#define _CPP_STREAMBUF 1 #define _CPP_STREAMBUF 1
...@@ -95,7 +100,7 @@ namespace std ...@@ -95,7 +100,7 @@ namespace std
// the same place. True for fstreams, false for sstreams. // the same place. True for fstreams, false for sstreams.
bool _M_buf_unified; 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 // consistent, and is intended to be the most minimal abstraction
// for an internal buffer. // for an internal buffer.
// get == input == read // get == input == read
......
...@@ -31,6 +31,11 @@ ...@@ -31,6 +31,11 @@
// ISO C++ 14882: 21 Strings library // 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 #ifndef _CPP_STRING
#define _CPP_STRING 1 #define _CPP_STRING 1
......
...@@ -53,6 +53,11 @@ ...@@ -53,6 +53,11 @@
* purpose. It is provided "as is" without express or implied warranty. * 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 #ifndef _CPP_UTILITY
#define _CPP_UTILITY 1 #define _CPP_UTILITY 1
......
...@@ -29,6 +29,11 @@ ...@@ -29,6 +29,11 @@
// Written by Gabriel Dos Reis <Gabriel.Dos-Reis@DPTMaths.ENS-Cachan.Fr> // 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 #ifndef _CPP_VALARRAY
#define _CPP_VALARRAY 1 #define _CPP_VALARRAY 1
......
...@@ -53,6 +53,11 @@ ...@@ -53,6 +53,11 @@
* purpose. It is provided "as is" without express or implied warranty. * 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 #ifndef _CPP_VECTOR
#define _CPP_VECTOR 1 #define _CPP_VECTOR 1
......
...@@ -53,8 +53,9 @@ ...@@ -53,8 +53,9 @@
* purpose. It is provided "as is" without express or implied warranty. * purpose. It is provided "as is" without express or implied warranty.
*/ */
/* NOTE: This is an internal header file, included by other STL headers. /** @file stl_algo.h
* 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_ALGO_H #ifndef __SGI_STL_INTERNAL_ALGO_H
......
...@@ -53,11 +53,11 @@ ...@@ -53,11 +53,11 @@
* purpose. It is provided "as is" without express or implied warranty. * purpose. It is provided "as is" without express or implied warranty.
*/ */
/* NOTE: This is an internal header file, included by other STL headers. /** @file stl_algobase.h
* 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_ALGOBASE_H #ifndef __SGI_STL_INTERNAL_ALGOBASE_H
#define __SGI_STL_INTERNAL_ALGOBASE_H #define __SGI_STL_INTERNAL_ALGOBASE_H
...@@ -81,6 +81,15 @@ namespace std ...@@ -81,6 +81,15 @@ namespace std
// swap and iter_swap // 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> template<typename _ForwardIter1, typename _ForwardIter2>
inline void inline void
iter_swap(_ForwardIter1 __a, _ForwardIter2 __b) iter_swap(_ForwardIter1 __a, _ForwardIter2 __b)
...@@ -99,6 +108,15 @@ namespace std ...@@ -99,6 +108,15 @@ namespace std
*__b = __tmp; *__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> template<typename _Tp>
inline void inline void
swap(_Tp& __a, _Tp& __b) swap(_Tp& __a, _Tp& __b)
...@@ -117,6 +135,16 @@ namespace std ...@@ -117,6 +135,16 @@ namespace std
#undef min #undef min
#undef max #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> template<typename _Tp>
inline const _Tp& inline const _Tp&
min(const _Tp& __a, const _Tp& __b) min(const _Tp& __a, const _Tp& __b)
......
...@@ -40,8 +40,9 @@ ...@@ -40,8 +40,9 @@
* purpose. It is provided "as is" without express or implied warranty. * purpose. It is provided "as is" without express or implied warranty.
*/ */
/* NOTE: This is an internal header file, included by other STL headers. /** @file stl_alloc.h
* 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_ALLOC_H #ifndef __SGI_STL_INTERNAL_ALLOC_H
......
...@@ -53,8 +53,9 @@ ...@@ -53,8 +53,9 @@
* purpose. It is provided "as is" without express or implied warranty. * purpose. It is provided "as is" without express or implied warranty.
*/ */
/* NOTE: This is an internal header file, included by other STL headers. /** @file stl_bvector.h
* 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_BVECTOR_H #ifndef __SGI_STL_INTERNAL_BVECTOR_H
......
...@@ -53,8 +53,9 @@ ...@@ -53,8 +53,9 @@
* purpose. It is provided "as is" without express or implied warranty. * purpose. It is provided "as is" without express or implied warranty.
*/ */
/* NOTE: This is an internal header file, included by other STL headers. /** @file stl_construct.h
* 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 _CPP_BITS_STL_CONSTRUCT_H #ifndef _CPP_BITS_STL_CONSTRUCT_H
......
...@@ -53,8 +53,9 @@ ...@@ -53,8 +53,9 @@
* purpose. It is provided "as is" without express or implied warranty. * purpose. It is provided "as is" without express or implied warranty.
*/ */
/* NOTE: This is an internal header file, included by other STL headers. /** @file stl_deque.h
* 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.
*/ */
#include <bits/concept_check.h> #include <bits/concept_check.h>
......
...@@ -52,8 +52,9 @@ ...@@ -52,8 +52,9 @@
* purpose. It is provided "as is" without express or implied warranty. * purpose. It is provided "as is" without express or implied warranty.
*/ */
/* NOTE: This is an internal header file, included by other STL headers. /** @file stl_heap.h
* 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 _CPP_BITS_STL_HEAP_H #ifndef _CPP_BITS_STL_HEAP_H
......
...@@ -53,8 +53,9 @@ ...@@ -53,8 +53,9 @@
* purpose. It is provided "as is" without express or implied warranty. * purpose. It is provided "as is" without express or implied warranty.
*/ */
/* NOTE: This is an internal header file, included by other STL headers. /** @file stl_iterator.h
* 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_ITERATOR_H #ifndef __SGI_STL_INTERNAL_ITERATOR_H
......
...@@ -53,8 +53,9 @@ ...@@ -53,8 +53,9 @@
* purpose. It is provided "as is" without express or implied warranty. * purpose. It is provided "as is" without express or implied warranty.
*/ */
/* NOTE: This is an internal header file, included by other STL headers. /** @file stl_iterator_base_funcs.h
* 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_ITERATOR_BASE_FUNCS_H #ifndef __SGI_STL_INTERNAL_ITERATOR_BASE_FUNCS_H
......
...@@ -53,8 +53,9 @@ ...@@ -53,8 +53,9 @@
* purpose. It is provided "as is" without express or implied warranty. * purpose. It is provided "as is" without express or implied warranty.
*/ */
/* NOTE: This is an internal header file, included by other STL headers. /** @file stl_iterator_base_types.h
* 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_ITERATOR_BASE_TYPES_H #ifndef __SGI_STL_INTERNAL_ITERATOR_BASE_TYPES_H
......
...@@ -53,8 +53,9 @@ ...@@ -53,8 +53,9 @@
* purpose. It is provided "as is" without express or implied warranty. * purpose. It is provided "as is" without express or implied warranty.
*/ */
/* NOTE: This is an internal header file, included by other STL headers. /** @file stl_list.h
* 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_LIST_H #ifndef __SGI_STL_INTERNAL_LIST_H
......
...@@ -53,8 +53,9 @@ ...@@ -53,8 +53,9 @@
* purpose. It is provided "as is" without express or implied warranty. * purpose. It is provided "as is" without express or implied warranty.
*/ */
/* NOTE: This is an internal header file, included by other STL headers. /** @file stl_map.h
* 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 _CPP_BITS_STL_MAP_H #ifndef _CPP_BITS_STL_MAP_H
......
...@@ -53,8 +53,9 @@ ...@@ -53,8 +53,9 @@
* purpose. It is provided "as is" without express or implied warranty. * purpose. It is provided "as is" without express or implied warranty.
*/ */
/* NOTE: This is an internal header file, included by other STL headers. /** @file stl_multimap.h
* 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_MULTIMAP_H #ifndef __SGI_STL_INTERNAL_MULTIMAP_H
......
...@@ -53,8 +53,9 @@ ...@@ -53,8 +53,9 @@
* purpose. It is provided "as is" without express or implied warranty. * purpose. It is provided "as is" without express or implied warranty.
*/ */
/* NOTE: This is an internal header file, included by other STL headers. /** @file stl_multiset.h
* 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_MULTISET_H #ifndef __SGI_STL_INTERNAL_MULTISET_H
......
...@@ -53,11 +53,11 @@ ...@@ -53,11 +53,11 @@
* purpose. It is provided "as is" without express or implied warranty. * purpose. It is provided "as is" without express or implied warranty.
*/ */
/* NOTE: This is an internal header file, included by other STL headers. /** @file stl_numeric.h
* 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 _CPP_BITS_STL_NUMERIC_H #ifndef _CPP_BITS_STL_NUMERIC_H
#define _CPP_BITS_STL_NUMERIC_H 1 #define _CPP_BITS_STL_NUMERIC_H 1
......
...@@ -54,8 +54,8 @@ ...@@ -54,8 +54,8 @@
*/ */
/** @file stl_pair.h /** @file stl_pair.h
* This is an internal header file, included by other STL headers. You * This is an internal header file, included by other library headers.
* should not attempt to use it directly. * You should not attempt to use it directly.
*/ */
#ifndef __SGI_STL_INTERNAL_PAIR_H #ifndef __SGI_STL_INTERNAL_PAIR_H
......
...@@ -40,6 +40,11 @@ ...@@ -40,6 +40,11 @@
* purpose. It is provided "as is" without express or implied warranty. * 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 #ifndef _CPP_BITS_STL_PTHREAD_ALLOC_H
#define _CPP_BITS_STL_PTHREAD_ALLOC_H 1 #define _CPP_BITS_STL_PTHREAD_ALLOC_H 1
......
...@@ -53,8 +53,9 @@ ...@@ -53,8 +53,9 @@
* purpose. It is provided "as is" without express or implied warranty. * purpose. It is provided "as is" without express or implied warranty.
*/ */
/* NOTE: This is an internal header file, included by other STL headers. /** @file stl_queue.h
* 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_QUEUE_H #ifndef __SGI_STL_INTERNAL_QUEUE_H
......
...@@ -53,8 +53,9 @@ ...@@ -53,8 +53,9 @@
* purpose. It is provided "as is" without express or implied warranty. * purpose. It is provided "as is" without express or implied warranty.
*/ */
/* NOTE: This is an internal header file, included by other STL headers. /** @file stl_raw_storage_iter.h
* 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 _CPP_BITS_STL_RAW_STORAGE_ITERATOR_H #ifndef _CPP_BITS_STL_RAW_STORAGE_ITERATOR_H
......
...@@ -53,11 +53,7 @@ ...@@ -53,11 +53,7 @@
* *
*/ */
/* NOTE: This is an internal header file, included by other STL headers. /* +++ libstdc++-v3 note: Inclusion of this file has been removed from
* You should not attempt to use it directly.
*/
/**** libstdc++-v3 note: Inclusion of this file has been removed from
* all of the other STL headers for safety reasons, except std_utility.h. * all of the other STL headers for safety reasons, except std_utility.h.
* For more information, see the thread of about twenty messages starting * 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 * with <URL:http://gcc.gnu.org/ml/libstdc++/2001-01/msg00223.html>, or the
...@@ -67,6 +63,11 @@ ...@@ -67,6 +63,11 @@
* Don't use them. * 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 #ifndef _CPP_BITS_STL_RELOPS_H
#define _CPP_BITS_STL_RELOPS_H 1 #define _CPP_BITS_STL_RELOPS_H 1
......
...@@ -53,8 +53,9 @@ ...@@ -53,8 +53,9 @@
* purpose. It is provided "as is" without express or implied warranty. * purpose. It is provided "as is" without express or implied warranty.
*/ */
/* NOTE: This is an internal header file, included by other STL headers. /** @file stl_set.h
* 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_SET_H #ifndef __SGI_STL_INTERNAL_SET_H
......
...@@ -53,8 +53,9 @@ ...@@ -53,8 +53,9 @@
* purpose. It is provided "as is" without express or implied warranty. * purpose. It is provided "as is" without express or implied warranty.
*/ */
/* NOTE: This is an internal header file, included by other STL headers. /** @file stl_stack.h
* 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_STACK_H #ifndef __SGI_STL_INTERNAL_STACK_H
......
...@@ -53,8 +53,9 @@ ...@@ -53,8 +53,9 @@
* purpose. It is provided "as is" without express or implied warranty. * purpose. It is provided "as is" without express or implied warranty.
*/ */
/* NOTE: This is an internal header file, included by other STL headers. /** @file stl_tempbuf.h
* 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_TEMPBUF_H #ifndef __SGI_STL_INTERNAL_TEMPBUF_H
......
...@@ -40,10 +40,10 @@ ...@@ -40,10 +40,10 @@
* purpose. It is provided "as is" without express or implied warranty. * purpose. It is provided "as is" without express or implied warranty.
*/ */
// WARNING: This is an internal header file, included by other C++ /** @file stl_threads.h
// standard library headers. You should not attempt to use this header * This is an internal header file, included by other library headers.
// file directly. * You should not attempt to use it directly.
// Stl_config.h should be included before this file. */
#ifndef __SGI_STL_INTERNAL_THREADS_H #ifndef __SGI_STL_INTERNAL_THREADS_H
#define __SGI_STL_INTERNAL_THREADS_H #define __SGI_STL_INTERNAL_THREADS_H
......
...@@ -55,8 +55,9 @@ ...@@ -55,8 +55,9 @@
* *
*/ */
/* NOTE: This is an internal header file, included by other STL headers. /** @file stl_tree.h
* 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_TREE_H #ifndef __SGI_STL_INTERNAL_TREE_H
......
...@@ -53,8 +53,9 @@ ...@@ -53,8 +53,9 @@
* purpose. It is provided "as is" without express or implied warranty. * purpose. It is provided "as is" without express or implied warranty.
*/ */
/* NOTE: This is an internal header file, included by other STL headers. /** @file stl_uninitialized.h
* 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 _CPP_BITS_STL_UNINITIALIZED_H #ifndef _CPP_BITS_STL_UNINITIALIZED_H
......
...@@ -53,8 +53,9 @@ ...@@ -53,8 +53,9 @@
* purpose. It is provided "as is" without express or implied warranty. * purpose. It is provided "as is" without express or implied warranty.
*/ */
/* NOTE: This is an internal header file, included by other STL headers. /** @file stl_vector.h
* 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_VECTOR_H #ifndef __SGI_STL_INTERNAL_VECTOR_H
......
...@@ -27,6 +27,11 @@ ...@@ -27,6 +27,11 @@
// invalidate any other reasons why the executable file might be covered by // invalidate any other reasons why the executable file might be covered by
// the GNU General Public License. // 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 #ifndef _CPP_BITS_STREAM_ITERATOR_H
#define _CPP_BITS_STREAM_ITERATOR_H 1 #define _CPP_BITS_STREAM_ITERATOR_H 1
......
...@@ -29,6 +29,11 @@ ...@@ -29,6 +29,11 @@
// XXX Should specialize copy, find algorithms for streambuf iterators. // 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 #ifndef _CPP_BITS_STREAMBUF_ITERATOR_H
#define _CPP_BITS_STREAMBUF_ITERATOR_H 1 #define _CPP_BITS_STREAMBUF_ITERATOR_H 1
......
...@@ -31,6 +31,11 @@ ...@@ -31,6 +31,11 @@
// ISO C++ 14882: 21 Strings library // 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 #ifndef _CPP_BITS_STRINGFWD_H
#define _CPP_BITS_STRINGFWD_H 1 #define _CPP_BITS_STRINGFWD_H 1
......
...@@ -41,6 +41,11 @@ ...@@ -41,6 +41,11 @@
* purpose. It is provided "as is" without express or implied warranty. * 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 #ifndef _CPP_BITS_TYPE_TRAITS_H
#define _CPP_BITS_TYPE_TRAITS_H 1 #define _CPP_BITS_TYPE_TRAITS_H 1
......
...@@ -29,6 +29,11 @@ ...@@ -29,6 +29,11 @@
// Written by Gabriel Dos Reis <Gabriel.Dos-Reis@DPTMaths.ENS-Cachan.Fr> // 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 #ifndef _CPP_BITS_ARRAY_H
#define _CPP_BITS_ARRAY_H 1 #define _CPP_BITS_ARRAY_H 1
......
...@@ -29,6 +29,11 @@ ...@@ -29,6 +29,11 @@
// Written by Gabriel Dos Reis <Gabriel.Dos-Reis@cmla.ens-cachan.fr> // 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 #ifndef _CPP_VALARRAY_META_H
#define _CPP_VALARRAY_META_H 1 #define _CPP_VALARRAY_META_H 1
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment