Right now they are off by default. More will be added once
- GCC 3.0 is released and we have time to revisit this topic.
+
For GCC 3.0 and 3.1 they are off by default. They can be enabled at
+ configure time with
+ --enable-concept-checks
.
std::list::size()
is O(n)!
@@ -392,7 +393,45 @@
Return to top of page or
to the FAQ.
-
+
+
+
+ Yes it is, and that's okay. This is a decision that we preserved when
+ we imported SGI's STL implementation. The following is quoted from
+ their FAQ:
+
+ The size() member function, for list and slist, takes time
+ proportional to the number of elements in the list. This was a
+ deliberate tradeoff. The only way to get a constant-time size() for
+ linked lists would be to maintain an extra member variable containing
+ the list's size. This would require taking extra time to update that
+ variable (it would make splice() a linear time operation, for example),
+ and it would also make the list larger. Many list algorithms don't
+ require that extra word (algorithms that do require it might do better
+ with vectors than with lists), and, when it is necessary to maintain
+ an explicit size count, it's something that users can do themselves.
+
+ This choice is permitted by the C++ standard. The standard says that
+ size() "should" be constant time, and "should"
+ does not mean the same thing as "shall". This is the
+ officially recommended ISO wording for saying that an implementation
+ is supposed to do something unless there is a good reason not to.
+
+ One implication of linear time size(): you should never write
+
+ if (L.size() == 0)
+ ...
+ Instead, you should write
+
+ if (L.empty())
+ ...
+
+
+
+ Return to top of page or
+ to the FAQ.
+
+
diff --git a/libstdc++-v3/docs/html/27_io/howto.html b/libstdc++-v3/docs/html/27_io/howto.html
index 23489525aa4..6e07310dff1 100644
--- a/libstdc++-v3/docs/html/27_io/howto.html
+++ b/libstdc++-v3/docs/html/27_io/howto.html
@@ -328,8 +328,9 @@
Creating your own stream buffers for I/O can be remarkably easy.
If you are interested in doing so, we highly recommend two very
- excellent books: Standard C++ IOStreams and Locales by
- Langer and Kreft, ISBN 0-201-18395-1, and
+ excellent books:
+ Standard C++
+ IOStreams and Locales by Langer and Kreft, ISBN 0-201-18395-1, and
The C++ Standard Library
by Nicolai Josuttis, ISBN 0-201-37926-0. Both are published by
Addison-Wesley, who isn't paying us a cent for saying that, honest.
diff --git a/libstdc++-v3/include/bits/stl_relops.h b/libstdc++-v3/include/bits/stl_relops.h
index d4d3d222022..cc1ef782647 100644
--- a/libstdc++-v3/include/bits/stl_relops.h
+++ b/libstdc++-v3/include/bits/stl_relops.h
@@ -1,6 +1,6 @@
// std::rel_ops implementation -*- C++ -*-
-// Copyright (C) 2001 Free Software Foundation, Inc.
+// Copyright (C) 2001, 2002 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -53,19 +53,19 @@
*
*/
-/* +++ libstdc++-v3 note: Inclusion of this file has been removed from
- * all of the other STL headers for safety reasons, except std_utility.h.
- * For more information, see the thread of about twenty messages starting
- * with , or the
- * FAQ at .
- *
- * Short summary: the rel_ops operators cannot be made to play nice.
- * Don't use them.
-*/
-
/** @file stl_relops.h
* This is an internal header file, included by other library headers.
* You should not attempt to use it directly.
+ *
+ * @maint
+ * Inclusion of this file has been removed from
+ * all of the other STL headers for safety reasons, except std_utility.h.
+ * For more information, see the thread of about twenty messages starting
+ * with http://gcc.gnu.org/ml/libstdc++/2001-01/msg00223.html , or the
+ * FAQ at http://gcc.gnu.org/onlinedocs/libstdc++/faq/index.html#4_4 .
+ *
+ * Short summary: the rel_ops operators should be avoided for the present.
+ * @endmaint
*/
#ifndef _CPP_BITS_STL_RELOPS_H
@@ -75,22 +75,57 @@ namespace std
{
namespace rel_ops
{
+ /** @namespace std::rel_ops
+ * @brief The generated relational operators are sequestered here.
+ */
+/**
+ * @brief Defines @c != for arbitrary types, in terms of @c ==.
+ * @param x A thing.
+ * @param y Another thing.
+ * @return x != y
+ *
+ * This function uses @c == to determine its result.
+*/
template
inline bool operator!=(const _Tp& __x, const _Tp& __y) {
return !(__x == __y);
}
+/**
+ * @brief Defines @c > for arbitrary types, in terms of @c <.
+ * @param x A thing.
+ * @param y Another thing.
+ * @return x > y
+ *
+ * This function uses @c < to determine its result.
+*/
template
inline bool operator>(const _Tp& __x, const _Tp& __y) {
return __y < __x;
}
+/**
+ * @brief Defines @c <= for arbitrary types, in terms of @c <.
+ * @param x A thing.
+ * @param y Another thing.
+ * @return x <= y
+ *
+ * This function uses @c < to determine its result.
+*/
template
inline bool operator<=(const _Tp& __x, const _Tp& __y) {
return !(__y < __x);
}
+/**
+ * @brief Defines @c >= for arbitrary types, in terms of @c <.
+ * @param x A thing.
+ * @param y Another thing.
+ * @return x >= y
+ *
+ * This function uses @c < to determine its result.
+*/
template
inline bool operator>=(const _Tp& __x, const _Tp& __y) {
return !(__x < __y);
diff --git a/libstdc++-v3/include/bits/stl_tempbuf.h b/libstdc++-v3/include/bits/stl_tempbuf.h
index 0bf4718df2e..088807fb82d 100644
--- a/libstdc++-v3/include/bits/stl_tempbuf.h
+++ b/libstdc++-v3/include/bits/stl_tempbuf.h
@@ -67,12 +67,16 @@ namespace std
/**
* @maint
* This class is used in two places: stl_algo.h and ext/memory, where it
- * is wrapped as the temporary_buffer class.
+ * is wrapped as the temporary_buffer class. See temporary_buffer docs for
+ * more notes.
* @endmaint
*/
template
-class _Temporary_buffer {
-private:
+ class _Temporary_buffer
+{
+ // concept requirements
+ __glibcpp_class_requires(_ForwardIterator, _ForwardIteratorConcept)
+
ptrdiff_t _M_original_len;
ptrdiff_t _M_len;
_Tp* _M_buffer;
@@ -99,9 +103,13 @@ private:
}
public:
+ /// As per Table mumble.
ptrdiff_t size() const { return _M_len; }
+ /// Returns the size requested by the constructor; may be >size().
ptrdiff_t requested_size() const { return _M_original_len; }
+ /// As per Table mumble.
_Tp* begin() { return _M_buffer; }
+ /// As per Table mumble.
_Tp* end() { return _M_buffer + _M_len; }
_Temporary_buffer(_ForwardIterator __first, _ForwardIterator __last) {
@@ -139,6 +147,3 @@ private:
#endif /* __GLIBCPP_INTERNAL_TEMPBUF_H */
-// Local Variables:
-// mode:C++
-// End:
diff --git a/libstdc++-v3/include/c_std/std_cassert.h b/libstdc++-v3/include/c_std/std_cassert.h
index b0e1f13f10a..ddce186a9c3 100644
--- a/libstdc++-v3/include/c_std/std_cassert.h
+++ b/libstdc++-v3/include/c_std/std_cassert.h
@@ -31,17 +31,18 @@
// ISO C++ 14882: 19.2 Assertions
//
+/** @file cassert
+ * This is a Standard C++ Library file. You should @c #include this file
+ * in your programs, rather than any of the "*.h" implementation files.
+ *
+ * This is the C++ version of the Standard C Library header @c assert.h,
+ * and its contents are (mostly) the same as that header, but are all
+ * contained in the namespace @c std.
+ */
+
// No include guards on this header...
#pragma GCC system_header
#include
-
-
-
-
-
-
-
-
diff --git a/libstdc++-v3/include/c_std/std_cctype.h b/libstdc++-v3/include/c_std/std_cctype.h
index 189f4f5384e..6c4de7b1e80 100644
--- a/libstdc++-v3/include/c_std/std_cctype.h
+++ b/libstdc++-v3/include/c_std/std_cctype.h
@@ -31,6 +31,15 @@
// ISO C++ 14882:
//
+/** @file cctype
+ * This is a Standard C++ Library file. You should @c #include this file
+ * in your programs, rather than any of the "*.h" implementation files.
+ *
+ * This is the C++ version of the Standard C Library header @c ctype.h,
+ * and its contents are (mostly) the same as that header, but are all
+ * contained in the namespace @c std.
+ */
+
#ifndef _CPP_CCTYPE
#define _CPP_CCTYPE 1
diff --git a/libstdc++-v3/include/c_std/std_cerrno.h b/libstdc++-v3/include/c_std/std_cerrno.h
index 7f1cdf66565..3b31cf202df 100644
--- a/libstdc++-v3/include/c_std/std_cerrno.h
+++ b/libstdc++-v3/include/c_std/std_cerrno.h
@@ -31,6 +31,15 @@
// ISO C++ 14882: 19.3 Error numbers
//
+/** @file cerrno
+ * This is a Standard C++ Library file. You should @c #include this file
+ * in your programs, rather than any of the "*.h" implementation files.
+ *
+ * This is the C++ version of the Standard C Library header @c errno.h,
+ * and its contents are (mostly) the same as that header, but are all
+ * contained in the namespace @c std.
+ */
+
#ifndef _CPP_CERRNO
#define _CPP_CERRNO 1
diff --git a/libstdc++-v3/include/c_std/std_cfloat.h b/libstdc++-v3/include/c_std/std_cfloat.h
index 80f5ea5c4ab..938bb0e0403 100644
--- a/libstdc++-v3/include/c_std/std_cfloat.h
+++ b/libstdc++-v3/include/c_std/std_cfloat.h
@@ -31,6 +31,15 @@
// ISO C++ 14882: 18.2.2 Implementation properties: C library
//
+/** @file cfloat
+ * This is a Standard C++ Library file. You should @c #include this file
+ * in your programs, rather than any of the "*.h" implementation files.
+ *
+ * This is the C++ version of the Standard C Library header @c float.h,
+ * and its contents are (mostly) the same as that header, but are all
+ * contained in the namespace @c std.
+ */
+
#ifndef _CPP_CFLOAT
#define _CPP_CFLOAT 1
diff --git a/libstdc++-v3/include/c_std/std_ciso646.h b/libstdc++-v3/include/c_std/std_ciso646.h
index c9f49fb6fc3..175d5cab097 100644
--- a/libstdc++-v3/include/c_std/std_ciso646.h
+++ b/libstdc++-v3/include/c_std/std_ciso646.h
@@ -29,7 +29,7 @@
/** @file ciso646
* This is a Standard C++ Library file. You should @c #include this file
- * in your programs, rather than any of the "st[dl]_*.h" implementation files.
+ * in your programs, rather than any of the "*.h" implementation files.
*
* This is the C++ version of the Standard C Library header @c iso646.h,
* and its contents are (mostly) the same as that header, but are all
diff --git a/libstdc++-v3/include/c_std/std_climits.h b/libstdc++-v3/include/c_std/std_climits.h
index 48f6acf4d86..8d0c64ef2ed 100644
--- a/libstdc++-v3/include/c_std/std_climits.h
+++ b/libstdc++-v3/include/c_std/std_climits.h
@@ -31,6 +31,15 @@
// ISO C++ 14882: 18.2.2 Implementation properties: C library
//
+/** @file climits
+ * This is a Standard C++ Library file. You should @c #include this file
+ * in your programs, rather than any of the "*.h" implementation files.
+ *
+ * This is the C++ version of the Standard C Library header @c limits.h,
+ * and its contents are (mostly) the same as that header, but are all
+ * contained in the namespace @c std.
+ */
+
#ifndef _CPP_CLIMITS
#define _CPP_CLIMITS 1
diff --git a/libstdc++-v3/include/c_std/std_clocale.h b/libstdc++-v3/include/c_std/std_clocale.h
index 02eb8fcc90c..7ad4809a43a 100644
--- a/libstdc++-v3/include/c_std/std_clocale.h
+++ b/libstdc++-v3/include/c_std/std_clocale.h
@@ -31,6 +31,15 @@
// ISO C++ 14882: 18.2.2 Implementation properties: C library
//
+/** @file clocale
+ * This is a Standard C++ Library file. You should @c #include this file
+ * in your programs, rather than any of the "*.h" implementation files.
+ *
+ * This is the C++ version of the Standard C Library header @c locale.h,
+ * and its contents are (mostly) the same as that header, but are all
+ * contained in the namespace @c std.
+ */
+
#ifndef _CPP_CLOCALE
#define _CPP_CLOCALE 1
diff --git a/libstdc++-v3/include/c_std/std_cmath.h b/libstdc++-v3/include/c_std/std_cmath.h
index 79644cec8fe..d6c52cfec79 100644
--- a/libstdc++-v3/include/c_std/std_cmath.h
+++ b/libstdc++-v3/include/c_std/std_cmath.h
@@ -31,6 +31,15 @@
// ISO C++ 14882: 26.5 C library
//
+/** @file cmath
+ * This is a Standard C++ Library file. You should @c #include this file
+ * in your programs, rather than any of the "*.h" implementation files.
+ *
+ * This is the C++ version of the Standard C Library header @c math.h,
+ * and its contents are (mostly) the same as that header, but are all
+ * contained in the namespace @c std.
+ */
+
#ifndef _CPP_CMATH
#define _CPP_CMATH 1
diff --git a/libstdc++-v3/include/c_std/std_csetjmp.h b/libstdc++-v3/include/c_std/std_csetjmp.h
index 5db98e7b97e..9ced365b627 100644
--- a/libstdc++-v3/include/c_std/std_csetjmp.h
+++ b/libstdc++-v3/include/c_std/std_csetjmp.h
@@ -31,6 +31,15 @@
// ISO C++ 14882: 20.4.6 C library
//
+/** @file csetjmp
+ * This is a Standard C++ Library file. You should @c #include this file
+ * in your programs, rather than any of the "*.h" implementation files.
+ *
+ * This is the C++ version of the Standard C Library header @c setjmp.h,
+ * and its contents are (mostly) the same as that header, but are all
+ * contained in the namespace @c std.
+ */
+
#ifndef _CPP_CSETJMP
#define _CPP_CSETJMP 1
diff --git a/libstdc++-v3/include/c_std/std_csignal.h b/libstdc++-v3/include/c_std/std_csignal.h
index 818e7bbbc9c..1b7e7230110 100644
--- a/libstdc++-v3/include/c_std/std_csignal.h
+++ b/libstdc++-v3/include/c_std/std_csignal.h
@@ -31,6 +31,15 @@
// ISO C++ 14882: 20.4.6 C library
//
+/** @file csignal
+ * This is a Standard C++ Library file. You should @c #include this file
+ * in your programs, rather than any of the "*.h" implementation files.
+ *
+ * This is the C++ version of the Standard C Library header @c signal.h,
+ * and its contents are (mostly) the same as that header, but are all
+ * contained in the namespace @c std.
+ */
+
#ifndef _CPP_CSIGNAL
#define _CPP_CSIGNAL 1
diff --git a/libstdc++-v3/include/c_std/std_cstdarg.h b/libstdc++-v3/include/c_std/std_cstdarg.h
index 58faa3b9876..627fe52f439 100644
--- a/libstdc++-v3/include/c_std/std_cstdarg.h
+++ b/libstdc++-v3/include/c_std/std_cstdarg.h
@@ -31,6 +31,15 @@
// ISO C++ 14882: 20.4.6 C library
//
+/** @file cstdarg
+ * This is a Standard C++ Library file. You should @c #include this file
+ * in your programs, rather than any of the "*.h" implementation files.
+ *
+ * This is the C++ version of the Standard C Library header @c stdarg.h,
+ * and its contents are (mostly) the same as that header, but are all
+ * contained in the namespace @c std.
+ */
+
#ifndef _CPP_CSTDARG
#define _CPP_CSTDARG 1
diff --git a/libstdc++-v3/include/c_std/std_cstddef.h b/libstdc++-v3/include/c_std/std_cstddef.h
index deb2db4448c..05c8e354ae8 100644
--- a/libstdc++-v3/include/c_std/std_cstddef.h
+++ b/libstdc++-v3/include/c_std/std_cstddef.h
@@ -31,6 +31,15 @@
// ISO C++ 14882: 18.1 Types
//
+/** @file cstddef
+ * This is a Standard C++ Library file. You should @c #include this file
+ * in your programs, rather than any of the "*.h" implementation files.
+ *
+ * This is the C++ version of the Standard C Library header @c stddef.h,
+ * and its contents are (mostly) the same as that header, but are all
+ * contained in the namespace @c std.
+ */
+
#ifndef _CPP_CSTDDEF
#define _CPP_CSTDDEF 1
diff --git a/libstdc++-v3/include/c_std/std_cstdio.h b/libstdc++-v3/include/c_std/std_cstdio.h
index a6c78d221d5..9ef2a588838 100644
--- a/libstdc++-v3/include/c_std/std_cstdio.h
+++ b/libstdc++-v3/include/c_std/std_cstdio.h
@@ -31,6 +31,15 @@
// ISO C++ 14882: 27.8.2 C Library files
//
+/** @file cstdio
+ * This is a Standard C++ Library file. You should @c #include this file
+ * in your programs, rather than any of the "*.h" implementation files.
+ *
+ * This is the C++ version of the Standard C Library header @c stdio.h,
+ * and its contents are (mostly) the same as that header, but are all
+ * contained in the namespace @c std.
+ */
+
#ifndef _CPP_CSTDIO
#define _CPP_CSTDIO 1
diff --git a/libstdc++-v3/include/c_std/std_cstdlib.h b/libstdc++-v3/include/c_std/std_cstdlib.h
index 73176dbedbb..4ff4904e588 100644
--- a/libstdc++-v3/include/c_std/std_cstdlib.h
+++ b/libstdc++-v3/include/c_std/std_cstdlib.h
@@ -31,6 +31,15 @@
// ISO C++ 14882: 20.4.6 C library
//
+/** @file cstdlib
+ * This is a Standard C++ Library file. You should @c #include this file
+ * in your programs, rather than any of the "*.h" implementation files.
+ *
+ * This is the C++ version of the Standard C Library header @c stdlib.h,
+ * and its contents are (mostly) the same as that header, but are all
+ * contained in the namespace @c std.
+ */
+
#ifndef _CPP_CSTDLIB
#define _CPP_CSTDLIB 1
diff --git a/libstdc++-v3/include/c_std/std_cstring.h b/libstdc++-v3/include/c_std/std_cstring.h
index 9708c898990..c078326f5cd 100644
--- a/libstdc++-v3/include/c_std/std_cstring.h
+++ b/libstdc++-v3/include/c_std/std_cstring.h
@@ -31,6 +31,15 @@
// ISO C++ 14882: 20.4.6 C library
//
+/** @file cstring
+ * This is a Standard C++ Library file. You should @c #include this file
+ * in your programs, rather than any of the "*.h" implementation files.
+ *
+ * This is the C++ version of the Standard C Library header @c string.h,
+ * and its contents are (mostly) the same as that header, but are all
+ * contained in the namespace @c std.
+ */
+
#ifndef _CPP_CSTRING
#define _CPP_CSTRING 1
diff --git a/libstdc++-v3/include/c_std/std_ctime.h b/libstdc++-v3/include/c_std/std_ctime.h
index c5c108b686f..2ebf8aa57ee 100644
--- a/libstdc++-v3/include/c_std/std_ctime.h
+++ b/libstdc++-v3/include/c_std/std_ctime.h
@@ -31,6 +31,15 @@
// ISO C++ 14882: 20.5 Date and time
//
+/** @file ctime
+ * This is a Standard C++ Library file. You should @c #include this file
+ * in your programs, rather than any of the "*.h" implementation files.
+ *
+ * This is the C++ version of the Standard C Library header @c time.h,
+ * and its contents are (mostly) the same as that header, but are all
+ * contained in the namespace @c std.
+ */
+
#ifndef _CPP_CTIME
#define _CPP_CTIME 1
diff --git a/libstdc++-v3/include/c_std/std_cwchar.h b/libstdc++-v3/include/c_std/std_cwchar.h
index 8e69d518509..0970e5d86c3 100644
--- a/libstdc++-v3/include/c_std/std_cwchar.h
+++ b/libstdc++-v3/include/c_std/std_cwchar.h
@@ -31,6 +31,15 @@
// ISO C++ 14882: 21.4
//
+/** @file cwchar
+ * This is a Standard C++ Library file. You should @c #include this file
+ * in your programs, rather than any of the "*.h" implementation files.
+ *
+ * This is the C++ version of the Standard C Library header @c wchar.h,
+ * and its contents are (mostly) the same as that header, but are all
+ * contained in the namespace @c std.
+ */
+
#ifndef _CPP_CWCHAR
#define _CPP_CWCHAR 1
diff --git a/libstdc++-v3/include/c_std/std_cwctype.h b/libstdc++-v3/include/c_std/std_cwctype.h
index 39ae0767663..6d090b97ab2 100644
--- a/libstdc++-v3/include/c_std/std_cwctype.h
+++ b/libstdc++-v3/include/c_std/std_cwctype.h
@@ -31,6 +31,15 @@
// ISO C++ 14882:
//
+/** @file cwctype
+ * This is a Standard C++ Library file. You should @c #include this file
+ * in your programs, rather than any of the "*.h" implementation files.
+ *
+ * This is the C++ version of the Standard C Library header @c wctype.h,
+ * and its contents are (mostly) the same as that header, but are all
+ * contained in the namespace @c std.
+ */
+
#ifndef _CPP_CWCTYPE
#define _CPP_CWCTYPE 1
diff --git a/libstdc++-v3/include/ext/algorithm b/libstdc++-v3/include/ext/algorithm
index 5b7fbff3a17..bf72765df93 100644
--- a/libstdc++-v3/include/ext/algorithm
+++ b/libstdc++-v3/include/ext/algorithm
@@ -1,6 +1,6 @@
// Algorithm extensions -*- C++ -*-
-// Copyright (C) 2001 Free Software Foundation, Inc.
+// Copyright (C) 2001, 2002 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -53,6 +53,12 @@
* purpose. It is provided "as is" without express or implied warranty.
*/
+/** @file ext/algorithm
+ * This file is a GNU extension to the Standard C++ Library (possibly
+ * containing extensions from the HP/SGI STL subset). You should only
+ * include this header if you are using GCC 3 or later.
+ */
+
#ifndef _EXT_ALGORITHM
#define _EXT_ALGORITHM
diff --git a/libstdc++-v3/include/ext/functional b/libstdc++-v3/include/ext/functional
index cee35583d36..c482aa1b67d 100644
--- a/libstdc++-v3/include/ext/functional
+++ b/libstdc++-v3/include/ext/functional
@@ -53,6 +53,12 @@
* purpose. It is provided "as is" without express or implied warranty.
*/
+/** @file ext/functional
+ * This file is a GNU extension to the Standard C++ Library (possibly
+ * containing extensions from the HP/SGI STL subset). You should only
+ * include this header if you are using GCC 3 or later.
+ */
+
#ifndef _EXT_FUNCTIONAL
#define _EXT_FUNCTIONAL
diff --git a/libstdc++-v3/include/ext/hash_map b/libstdc++-v3/include/ext/hash_map
index 813fad771ea..08ed87bf390 100644
--- a/libstdc++-v3/include/ext/hash_map
+++ b/libstdc++-v3/include/ext/hash_map
@@ -1,6 +1,6 @@
// Hashing map implementation -*- C++ -*-
-// Copyright (C) 2001 Free Software Foundation, Inc.
+// Copyright (C) 2001, 2002 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -53,9 +53,10 @@
*
*/
-/** @file hash_map
- * This header file is an extension to the Standard C++ Library. You should
- * use the "ext/" path prefix in your @c #include statements.
+/** @file ext/hash_map
+ * This file is a GNU extension to the Standard C++ Library (possibly
+ * containing extensions from the HP/SGI STL subset). You should only
+ * include this header if you are using GCC 3 or later.
*/
#ifndef __SGI_STL_INTERNAL_HASH_MAP_H
diff --git a/libstdc++-v3/include/ext/hash_set b/libstdc++-v3/include/ext/hash_set
index b2a43789cdd..eaeed7c9964 100644
--- a/libstdc++-v3/include/ext/hash_set
+++ b/libstdc++-v3/include/ext/hash_set
@@ -1,6 +1,6 @@
// Hashing set implementation -*- C++ -*-
-// Copyright (C) 2001 Free Software Foundation, Inc.
+// Copyright (C) 2001, 2002 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -53,9 +53,10 @@
*
*/
-/** @file hash_set
- * This header file is an extension to the Standard C++ Library. You should
- * use the "ext/" path prefix in your @c #include statements.
+/** @file ext/hash_set
+ * This file is a GNU extension to the Standard C++ Library (possibly
+ * containing extensions from the HP/SGI STL subset). You should only
+ * include this header if you are using GCC 3 or later.
*/
#ifndef __SGI_STL_INTERNAL_HASH_SET_H
diff --git a/libstdc++-v3/include/ext/iterator b/libstdc++-v3/include/ext/iterator
index c7acdda44c9..3892eb673a8 100644
--- a/libstdc++-v3/include/ext/iterator
+++ b/libstdc++-v3/include/ext/iterator
@@ -1,6 +1,6 @@
// HP/SGI iterator extensions -*- C++ -*-
-// Copyright (C) 2001 Free Software Foundation, Inc.
+// Copyright (C) 2001, 2002 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -53,9 +53,10 @@
* purpose. It is provided "as is" without express or implied warranty.
*/
-/* @file dont_know_what_to_call_this_yet
- * This header file is an extension to the Standard C++ Library. You should
- * use the "ext/" path prefix in your @c #include statements.
+/** @file ext/iterator
+ * This file is a GNU extension to the Standard C++ Library (possibly
+ * containing extensions from the HP/SGI STL subset). You should only
+ * include this header if you are using GCC 3 or later.
*/
#ifndef _EXT_ITERATOR
diff --git a/libstdc++-v3/include/ext/memory b/libstdc++-v3/include/ext/memory
index 3318611f048..5626b70e6af 100644
--- a/libstdc++-v3/include/ext/memory
+++ b/libstdc++-v3/include/ext/memory
@@ -53,6 +53,12 @@
* purpose. It is provided "as is" without express or implied warranty.
*/
+/** @file ext/memory
+ * This file is a GNU extension to the Standard C++ Library (possibly
+ * containing extensions from the HP/SGI STL subset). You should only
+ * include this header if you are using GCC 3 or later.
+ */
+
#ifndef _EXT_MEMORY
#define _EXT_MEMORY
@@ -67,7 +73,6 @@ namespace __gnu_cxx
using std::__iterator_category;
using std::_Temporary_buffer;
- // uninitialized_copy_n (not part of the C++ standard)
template
pair<_InputIter, _ForwardIter>
@@ -114,6 +119,7 @@ namespace __gnu_cxx
* @param last An input iterator.
* @param result An output iterator.
* @return result + (first - last)
+ * @ingroup SGIextensions
*
* Like copy(), but does not require an initialized output range.
*/
@@ -127,7 +133,23 @@ namespace __gnu_cxx
/**
- * Must come back and figure out these notes.
+ * This class provides similar behavior and semantics of the standard
+ * functions get_temporary_buffer() and return_temporary_buffer(), but
+ * encapsulated in a type vaguely resembling a standard container.
+ *
+ * By default, a temporary_buffer stores space for objects of
+ * whatever type the Iter iterator points to. It is constructed from a
+ * typical [first,last) range, and provides the begin(), end(), size()
+ * functions, as well as requested_size(). For non-trivial types, copies
+ * of *first will be used to initialize the storage.
+ *
+ * @c malloc is used to obtain underlying storage.
+ *
+ * Like get_temporary_buffer(), not all the requested memory may be
+ * available. Ideally, the created buffer will be large enough to hold a
+ * copy of [first,last), but if size() is less than requested_size(),
+ * then this didn't happen.
+ *
* @ingroup SGIextensions
*/
template ::value_type >
struct temporary_buffer : public _Temporary_buffer<_ForwardIterator, _Tp>
{
+ /// Requests storage large enough to hold a copy of [first,last).
temporary_buffer(_ForwardIterator __first, _ForwardIterator __last)
: _Temporary_buffer<_ForwardIterator, _Tp>(__first, __last) {}
+ /// Destroys objects and frees storage.
~temporary_buffer() {}
};
diff --git a/libstdc++-v3/include/ext/numeric b/libstdc++-v3/include/ext/numeric
index 5b33a893b80..601cb82bd55 100644
--- a/libstdc++-v3/include/ext/numeric
+++ b/libstdc++-v3/include/ext/numeric
@@ -53,6 +53,12 @@
* purpose. It is provided "as is" without express or implied warranty.
*/
+/** @file ext/numeric
+ * This file is a GNU extension to the Standard C++ Library (possibly
+ * containing extensions from the HP/SGI STL subset). You should only
+ * include this header if you are using GCC 3 or later.
+ */
+
#ifndef _EXT_NUMERIC
#define _EXT_NUMERIC
diff --git a/libstdc++-v3/include/ext/rb_tree b/libstdc++-v3/include/ext/rb_tree
index 103900e7d4d..f4b24b6fa59 100644
--- a/libstdc++-v3/include/ext/rb_tree
+++ b/libstdc++-v3/include/ext/rb_tree
@@ -53,6 +53,12 @@
* purpose. It is provided "as is" without express or implied warranty.
*/
+/** @file ext/rb_tree
+ * This file is a GNU extension to the Standard C++ Library (possibly
+ * containing extensions from the HP/SGI STL subset). You should only
+ * include this header if you are using GCC 3 or later.
+ */
+
#ifndef _EXT_RB_TREE
#define _EXT_RB_TREE
diff --git a/libstdc++-v3/include/ext/rope b/libstdc++-v3/include/ext/rope
index c52db59d5a1..1441df15a62 100644
--- a/libstdc++-v3/include/ext/rope
+++ b/libstdc++-v3/include/ext/rope
@@ -40,9 +40,10 @@
* purpose. It is provided "as is" without express or implied warranty.
*/
-/** @file rope
- * This header file is an extension to the Standard C++ Library. You should
- * use the "ext/" path prefix in your @c #include statements.
+/** @file ext/rope
+ * This file is a GNU extension to the Standard C++ Library (possibly
+ * containing extensions from the HP/SGI STL subset). You should only
+ * include this header if you are using GCC 3 or later.
*/
#ifndef __SGI_STL_ROPE
diff --git a/libstdc++-v3/include/ext/ropeimpl.h b/libstdc++-v3/include/ext/ropeimpl.h
index 19618efc00c..f3f09f5c468 100644
--- a/libstdc++-v3/include/ext/ropeimpl.h
+++ b/libstdc++-v3/include/ext/ropeimpl.h
@@ -1,6 +1,6 @@
// SGI's rope class implementation -*- C++ -*-
-// Copyright (C) 2001 Free Software Foundation, Inc.
+// Copyright (C) 2001, 2002 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
diff --git a/libstdc++-v3/include/ext/slist b/libstdc++-v3/include/ext/slist
index 0863a8cf9cc..df2e97ba81b 100644
--- a/libstdc++-v3/include/ext/slist
+++ b/libstdc++-v3/include/ext/slist
@@ -1,6 +1,6 @@
// Singly-linked list implementation -*- C++ -*-
-// Copyright (C) 2001 Free Software Foundation, Inc.
+// Copyright (C) 2001, 2002 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -41,9 +41,10 @@
*
*/
-/** @file slist
- * This header file is an extension to the Standard C++ Library. You should
- * use the "ext/" path prefix in your @c #include statements.
+/** @file ext/slist
+ * This file is a GNU extension to the Standard C++ Library (possibly
+ * containing extensions from the HP/SGI STL subset). You should only
+ * include this header if you are using GCC 3 or later.
*/
#ifndef __SGI_STL_INTERNAL_SLIST_H
diff --git a/libstdc++-v3/include/ext/stl_hash_fun.h b/libstdc++-v3/include/ext/stl_hash_fun.h
index c251ed31b9a..562fe7a12da 100644
--- a/libstdc++-v3/include/ext/stl_hash_fun.h
+++ b/libstdc++-v3/include/ext/stl_hash_fun.h
@@ -1,6 +1,6 @@
// 'struct hash' from SGI -*- C++ -*-
-// Copyright (C) 2001 Free Software Foundation, Inc.
+// Copyright (C) 2001, 2002 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -53,9 +53,10 @@
*
*/
-/** @file stl_hash_fun.h
- * This is an internal header file, included by other library headers.
- * You should not attempt to use it directly.
+/** @file ext/stl_hash_fun.h
+ * This file is a GNU extension to the Standard C++ Library (possibly
+ * containing extensions from the HP/SGI STL subset). You should only
+ * include this header if you are using GCC 3 or later.
*/
#ifndef _CPP_BITS_STL_HASH_FUN_H
diff --git a/libstdc++-v3/include/ext/stl_hashtable.h b/libstdc++-v3/include/ext/stl_hashtable.h
index 2d5c110cb14..def44fa344b 100644
--- a/libstdc++-v3/include/ext/stl_hashtable.h
+++ b/libstdc++-v3/include/ext/stl_hashtable.h
@@ -53,9 +53,10 @@
*
*/
-/** @file stl_hashtable.h
- * This is an internal header file, included by other library headers.
- * You should not attempt to use it directly.
+/** @file ext/stl_hashtable.h
+ * This file is a GNU extension to the Standard C++ Library (possibly
+ * containing extensions from the HP/SGI STL subset). You should only
+ * include this header if you are using GCC 3 or later.
*/
#ifndef __SGI_STL_INTERNAL_HASHTABLE_H
diff --git a/libstdc++-v3/include/ext/stl_rope.h b/libstdc++-v3/include/ext/stl_rope.h
index 04fa15c661e..188fc40d337 100644
--- a/libstdc++-v3/include/ext/stl_rope.h
+++ b/libstdc++-v3/include/ext/stl_rope.h
@@ -1,6 +1,6 @@
// SGI's rope implementation -*- C++ -*-
-// Copyright (C) 2001 Free Software Foundation, Inc.
+// Copyright (C) 2001, 2002 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -40,9 +40,10 @@
* purpose. It is provided "as is" without express or implied warranty.
*/
-/** @file stl_rope.h
- * This is an internal header file, included by other library headers.
- * You should not attempt to use it directly.
+/** @file ext/stl_rope.h
+ * This file is a GNU extension to the Standard C++ Library (possibly
+ * containing extensions from the HP/SGI STL subset). You should only
+ * include this header if you are using GCC 3 or later.
*/
// rope<_CharT,_Alloc> is a sequence of _CharT.
diff --git a/libstdc++-v3/include/std/std_algorithm.h b/libstdc++-v3/include/std/std_algorithm.h
index ff5d257d6e6..bcc0c8a70cd 100644
--- a/libstdc++-v3/include/std/std_algorithm.h
+++ b/libstdc++-v3/include/std/std_algorithm.h
@@ -53,9 +53,9 @@
* purpose. It is provided "as is" without express or implied warranty.
*/
-/** @file std_algorithm.h
- * This is an internal header file, included by other library headers.
- * You should not attempt to use it directly.
+/** @file algorithm
+ * This is a Standard C++ Library header. You should @c #include this header
+ * in your programs, rather than any of the "st[dl]_*.h" implementation files.
*/
#ifndef _CPP_ALGORITHM
diff --git a/libstdc++-v3/include/std/std_bitset.h b/libstdc++-v3/include/std/std_bitset.h
index d9119e17b36..6abd106213f 100644
--- a/libstdc++-v3/include/std/std_bitset.h
+++ b/libstdc++-v3/include/std/std_bitset.h
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2001 Free Software Foundation, Inc.
+// Copyright (C) 2001, 2002 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -40,9 +40,9 @@
* purpose. It is provided "as is" without express or implied warranty.
*/
-/** @file std_bitset.h
- * This is an internal header file, included by other library headers.
- * You should not attempt to use it directly.
+/** @file bitset
+ * This is a Standard C++ Library header. You should @c #include this header
+ * in your programs, rather than any of the "st[dl]_*.h" implementation files.
*/
#ifndef __GLIBCPP_BITSET
diff --git a/libstdc++-v3/include/std/std_complex.h b/libstdc++-v3/include/std/std_complex.h
index 18dd8675823..bcfcedde8e9 100644
--- a/libstdc++-v3/include/std/std_complex.h
+++ b/libstdc++-v3/include/std/std_complex.h
@@ -1,6 +1,7 @@
// The template and inlines for the -*- C++ -*- complex number classes.
-// Copyright (C) 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
+// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002
+// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -34,9 +35,9 @@
// Improved by Gabriel Dos Reis
//
-/** @file std_complex.h
- * This is an internal header file, included by other library headers.
- * You should not attempt to use it directly.
+/** @file complex
+ * This is a Standard C++ Library header. You should @c #include this header
+ * in your programs, rather than any of the "st[dl]_*.h" implementation files.
*/
#ifndef _CPP_COMPLEX
diff --git a/libstdc++-v3/include/std/std_deque.h b/libstdc++-v3/include/std/std_deque.h
index 394eef3b845..0fca0d1a3d4 100644
--- a/libstdc++-v3/include/std/std_deque.h
+++ b/libstdc++-v3/include/std/std_deque.h
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2001 Free Software Foundation, Inc.
+// Copyright (C) 2001, 2002 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -53,9 +53,9 @@
* purpose. It is provided "as is" without express or implied warranty.
*/
-/** @file std_deque.h
- * This is an internal header file, included by other library headers.
- * You should not attempt to use it directly.
+/** @file deque
+ * This is a Standard C++ Library header. You should @c #include this header
+ * in your programs, rather than any of the "st[dl]_*.h" implementation files.
*/
#ifndef _CPP_DEQUE
diff --git a/libstdc++-v3/include/std/std_fstream.h b/libstdc++-v3/include/std/std_fstream.h
index a04ddf098dd..ade2af9f7ac 100644
--- a/libstdc++-v3/include/std/std_fstream.h
+++ b/libstdc++-v3/include/std/std_fstream.h
@@ -1,6 +1,7 @@
// File based streams -*- C++ -*-
-// Copyright (C) 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
+// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002
+// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -31,9 +32,9 @@
// ISO C++ 14882: 27.8 File-based streams
//
-/** @file std_fstream.h
- * This is an internal header file, included by other library headers.
- * You should not attempt to use it directly.
+/** @file fstream
+ * This is a Standard C++ Library header. You should @c #include this header
+ * in your programs, rather than any of the "st[dl]_*.h" implementation files.
*/
#ifndef _CPP_FSTREAM
diff --git a/libstdc++-v3/include/std/std_functional.h b/libstdc++-v3/include/std/std_functional.h
index 16702caead1..40080d95579 100644
--- a/libstdc++-v3/include/std/std_functional.h
+++ b/libstdc++-v3/include/std/std_functional.h
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2001 Free Software Foundation, Inc.
+// Copyright (C) 2001, 2002 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -41,9 +41,9 @@
*
*/
-/** @file std_functional.h
- * This is an internal header file, included by other library headers.
- * You should not attempt to use it directly.
+/** @file functional
+ * This is a Standard C++ Library header. You should @c #include this header
+ * in your programs, rather than any of the "st[dl]_*.h" implementation files.
*/
#ifndef _CPP_FUNCTIONAL
diff --git a/libstdc++-v3/include/std/std_iomanip.h b/libstdc++-v3/include/std/std_iomanip.h
index ab279d20ab6..39ecac2c77f 100644
--- a/libstdc++-v3/include/std/std_iomanip.h
+++ b/libstdc++-v3/include/std/std_iomanip.h
@@ -1,6 +1,6 @@
// Standard stream manipulators -*- C++ -*-
-// Copyright (C) 1997-1999, 2001 Free Software Foundation, Inc.
+// Copyright (C) 1997, 1998, 1999, 2001, 2002 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -31,9 +31,9 @@
// ISO C++ 14882: 27.6.3 Standard manipulators
//
-/** @file std_iomanip.h
- * This is an internal header file, included by other library headers.
- * You should not attempt to use it directly.
+/** @file iomanip
+ * This is a Standard C++ Library header. You should @c #include this header
+ * in your programs, rather than any of the "st[dl]_*.h" implementation files.
*/
#ifndef _CPP_IOMANIP
diff --git a/libstdc++-v3/include/std/std_ios.h b/libstdc++-v3/include/std/std_ios.h
index 1e61c366d4e..a7764c89cdd 100644
--- a/libstdc++-v3/include/std/std_ios.h
+++ b/libstdc++-v3/include/std/std_ios.h
@@ -1,6 +1,6 @@
// Iostreams base classes -*- C++ -*-
-// Copyright (C) 1997, 1998, 1999, 2001 Free Software Foundation, Inc.
+// Copyright (C) 1997, 1998, 1999, 2001, 2002 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -31,9 +31,9 @@
// ISO C++ 14882: 27.4 Iostreams base classes
//
-/** @file std_ios.h
- * This is an internal header file, included by other library headers.
- * You should not attempt to use it directly.
+/** @file ios
+ * This is a Standard C++ Library header. You should @c #include this header
+ * in your programs, rather than any of the "st[dl]_*.h" implementation files.
*/
#ifndef _CPP_IOS
diff --git a/libstdc++-v3/include/std/std_iosfwd.h b/libstdc++-v3/include/std/std_iosfwd.h
index 93c30b3fbf4..797f4936dc8 100644
--- a/libstdc++-v3/include/std/std_iosfwd.h
+++ b/libstdc++-v3/include/std/std_iosfwd.h
@@ -1,6 +1,6 @@
// Forwarding declarations -*- C++ -*-
-// Copyright (C) 1997, 1998, 1999, 2001 Free Software Foundation, Inc.
+// Copyright (C) 1997, 1998, 1999, 2001, 2002 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -31,9 +31,9 @@
// ISO C++ 14882: 27.2 Forward declarations
//
-/** @file std_iosfwd.h
- * This is an internal header file, included by other library headers.
- * You should not attempt to use it directly.
+/** @file iosfwd
+ * This is a Standard C++ Library header. You should @c #include this header
+ * in your programs, rather than any of the "st[dl]_*.h" implementation files.
*/
#ifndef _CPP_IOSFWD
diff --git a/libstdc++-v3/include/std/std_iostream.h b/libstdc++-v3/include/std/std_iostream.h
index 47b83798f5d..5b3da9c0d8b 100644
--- a/libstdc++-v3/include/std/std_iostream.h
+++ b/libstdc++-v3/include/std/std_iostream.h
@@ -1,6 +1,6 @@
// Standard iostream objects -*- C++ -*-
-// Copyright (C) 1997, 1998, 1999, 2001 Free Software Foundation, Inc.
+// Copyright (C) 1997, 1998, 1999, 2001, 2002 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -31,9 +31,9 @@
// ISO C++ 14882: 27.3 Standard iostream objects
//
-/** @file std_iostream.h
- * This is an internal header file, included by other library headers.
- * You should not attempt to use it directly.
+/** @file iostream
+ * This is a Standard C++ Library header. You should @c #include this header
+ * in your programs, rather than any of the "st[dl]_*.h" implementation files.
*/
#ifndef _CPP_IOSTREAM
diff --git a/libstdc++-v3/include/std/std_istream.h b/libstdc++-v3/include/std/std_istream.h
index 7b5185289b2..d2228fa6f26 100644
--- a/libstdc++-v3/include/std/std_istream.h
+++ b/libstdc++-v3/include/std/std_istream.h
@@ -1,6 +1,6 @@
// Input streams -*- C++ -*-
-// Copyright (C) 1997-1999, 2001 Free Software Foundation, Inc.
+// Copyright (C) 1997, 1998, 1999, 2001, 2002 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -31,9 +31,9 @@
// ISO C++ 14882: 27.6.1 Input streams
//
-/** @file std_istream.h
- * This is an internal header file, included by other library headers.
- * You should not attempt to use it directly.
+/** @file istream
+ * This is a Standard C++ Library header. You should @c #include this header
+ * in your programs, rather than any of the "st[dl]_*.h" implementation files.
*/
#ifndef _CPP_ISTREAM
diff --git a/libstdc++-v3/include/std/std_iterator.h b/libstdc++-v3/include/std/std_iterator.h
index f0eee1164ba..7b1709409b1 100644
--- a/libstdc++-v3/include/std/std_iterator.h
+++ b/libstdc++-v3/include/std/std_iterator.h
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2001 Free Software Foundation, Inc.
+// Copyright (C) 2001, 2002 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -53,9 +53,9 @@
* purpose. It is provided "as is" without express or implied warranty.
*/
-/** @file std_iterator.h
- * This is an internal header file, included by other library headers.
- * You should not attempt to use it directly.
+/** @file iterator
+ * This is a Standard C++ Library header. You should @c #include this header
+ * in your programs, rather than any of the "st[dl]_*.h" implementation files.
*/
#ifndef _CPP_ITERATOR
diff --git a/libstdc++-v3/include/std/std_limits.h b/libstdc++-v3/include/std/std_limits.h
index fd7aeaf775e..91125ef9495 100644
--- a/libstdc++-v3/include/std/std_limits.h
+++ b/libstdc++-v3/include/std/std_limits.h
@@ -1,6 +1,6 @@
// The template and inlines for the -*- C++ -*- numeric_limits classes.
-// Copyright (C) 1999-2001 Free Software Foundation, Inc.
+// Copyright (C) 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -35,9 +35,9 @@
// 18.2.1
//
-/** @file std_limits.h
- * This is an internal header file, included by other library headers.
- * You should not attempt to use it directly.
+/** @file limits
+ * This is a Standard C++ Library header. You should @c #include this header
+ * in your programs, rather than any of the "st[dl]_*.h" implementation files.
*/
#ifndef _CPP_NUMERIC_LIMITS
diff --git a/libstdc++-v3/include/std/std_list.h b/libstdc++-v3/include/std/std_list.h
index 683e0a7e66d..f32553be1f4 100644
--- a/libstdc++-v3/include/std/std_list.h
+++ b/libstdc++-v3/include/std/std_list.h
@@ -1,6 +1,6 @@
// -*- C++ -*-
-// Copyright (C) 2001 Free Software Foundation, Inc.
+// Copyright (C) 2001, 2002 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -53,9 +53,9 @@
* purpose. It is provided "as is" without express or implied warranty.
*/
-/** @file std_list.h
- * This is an internal header file, included by other library headers.
- * You should not attempt to use it directly.
+/** @file list
+ * This is a Standard C++ Library header. You should @c #include this header
+ * in your programs, rather than any of the "st[dl]_*.h" implementation files.
*/
#ifndef _CPP_LIST
diff --git a/libstdc++-v3/include/std/std_locale.h b/libstdc++-v3/include/std/std_locale.h
index 82089d01539..9c46b96bc2f 100644
--- a/libstdc++-v3/include/std/std_locale.h
+++ b/libstdc++-v3/include/std/std_locale.h
@@ -1,6 +1,6 @@
// Locale support -*- C++ -*-
-// Copyright (C) 1997-1999 Free Software Foundation, Inc.
+// Copyright (C) 1997, 1998, 1999, 2002 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -31,9 +31,9 @@
// ISO C++ 14882: 22.1 Locales
//
-/** @file std_locale.h
- * This is an internal header file, included by other library headers.
- * You should not attempt to use it directly.
+/** @file locale
+ * This is a Standard C++ Library header. You should @c #include this header
+ * in your programs, rather than any of the "st[dl]_*.h" implementation files.
*/
#ifndef _CPP_LOCALE
diff --git a/libstdc++-v3/include/std/std_map.h b/libstdc++-v3/include/std/std_map.h
index 0dd38bfafd3..c04cbd542a6 100644
--- a/libstdc++-v3/include/std/std_map.h
+++ b/libstdc++-v3/include/std/std_map.h
@@ -1,6 +1,6 @@
//