throw_allocator.h: Consistent @file markup.

2006-11-29  Benjamin Kosnik  <bkoz@redhat.com>

	* include/ext/throw_allocator.h: Consistent @file markup.
	* include/ext/type_traits.h: Same.
	* include/debug/hash_map: Same.
	* include/debug/hash_multimap.h: Same.
	* include/debug/set.h: Same.
	* include/debug/hash_set.h: Same.
	* include/debug/formatter.h: Same.
	* include/debug/bitset: Same.
	* include/debug/set: Same.
	* include/debug/multiset.h: Same.
	* include/debug/safe_sequence.h: Same.
	* include/debug/hash_set: Same.
	* include/debug/functions.h: Same.
	* include/debug/safe_base.h: Same.
	* include/debug/hash_multiset.h: Same.
	* include/debug/safe_iterator.tcc: Same.
	* include/debug/vector: Same.
	* include/debug/map.h: Same.
	* include/debug/deque: Same.
	* include/debug/hash_map.h: Same.
	* include/debug/string: Same.
	* include/debug/macros.h: Same.
	* include/debug/list: Same.
	* include/debug/debug.h: Same.
	* include/debug/map: Same. 
	* include/debug/safe_iterator.h: Same.
	* include/debug/multimap.h: Same.
	* config/cpu/generic/atomicity_mutex/atomicity.h: Same.
	* config/cpu/generic/atomicity_builtins/atomicity.h: Same.
	* config/cpu/generic/atomic_word.h: Same.
	* include/tr1/memory: Same.
	* include/tr1/random: Same.	
	* include/std/std_queue.h: Same.
	* include/std/std_iterator.h: Same.
	* include/std/std_bitset.h: Same.
	* include/std/std_set.h: Same.
	* include/std/std_vector.h: Same.
	* include/std/std_deque.h: Same.
	* include/std/std_utility.h: Same.
	* include/std/std_stack.h: Same.
	* include/std/std_string.h: Same.
	* include/std/std_list.h: Same.
	* include/std/std_map.h: Same.
	* libsupc++/typeinfo: Same.
	* libsupc++/exception: Same.
	* libsupc++/exception_defines.h: Same.
	* libsupc++/new: Same.
	
	* include/ext/bitmap_allocator.h: Change namespace __balloc to
	__detail.
	* src/bitmap_allocator.cc: Same.
	
	* include/bits/cpp_type_traits.h: Change __true_type and
	__false_type from global to namespace std scope.
	* include/ext/slist: Same.
	* include/ext/vstring.h: Same.
	* include/ext/vstring.tcc: Same.
	* include/ext/rc_string_base.h: Same.
	* include/ext/sso_string_base.h: Same.

	* include/bits/codecvt.h: Adjust markup so that correct namespace
	scope information is in all files.
	* include/bits/locale_facets.h: Same. Include ctype_base directly.
	* config/os/windiss/ctype_base.h: Add in namespace markup.
	* config/os/newlib/ctype_base.h: Same.
	* config/os/aix/ctype_base.h: Same.
	* config/os/vxworks/ctype_base.h: Same.
	* config/os/hpux/ctype_base.h: Same.
	* config/os/mingw32/ctype_base.h: Same.
	* config/os/gnu-linux/ctype_base.h: Same.
	* config/os/tpf/ctype_base.h: Same.
	* config/os/uclibc/ctype_base.h: Same.
	* config/os/djgpp/ctype_base.h: Same.
	* config/os/qnx/qnx6.1/ctype_base.h: Same.
	* config/os/bsd/netbsd/ctype_base.h: Same.
	* config/os/bsd/darwin/ctype_base.h: Same.
	* config/os/bsd/freebsd/ctype_base.h: Same.
	* config/os/irix/irix5.2/ctype_base.h: Same.
	* config/os/irix/irix6.5/ctype_base.h: Same.
	* config/os/solaris/solaris2.5/ctype_base.h: Same.
	* config/os/solaris/solaris2.6/ctype_base.h: Same.
	* config/os/solaris/solaris2.7/ctype_base.h: Same.
	* config/os/generic/ctype_base.h: Same.
	* include/tr1/mu_iterate.h: Same.
	* include/tr1/tuple: Same.
	* include/tr1/tuple_iterate.h: Same.
	* include/tr1/tuple_defs.h: Same.
	* include/tr1/random.tcc: Same.
	* include/tr1/functional: Same.
	* include/tr1/functional_iterate.h: Same.
	
	* testsuite/ext/type_traits/remove_unsigned_integer_neg.cc: Line
	number changes.	
	* testsuite/ext/type_traits/add_unsigned_floating_neg.cc: Same.
	* testsuite/ext/type_traits/remove_unsigned_floating_neg.cc: Same.
	* testsuite/ext/type_traits/add_unsigned_integer_neg.cc: Same.

	* docs/doxygen/user.cfg.in: Update to doxygen 1.5.1.
	* docs/html/17_intro/license.html: Updated info for generated docs.
	* docs/doxygen/guide.html: Adjust.
	* docs/doxygen/run_doxygen: Adjust.
	* docs/doxygen/mainpage.html: Same.
	* docs/doxygen/doxygroups.cc: Same.
	* docs/doxygen/Intro.3: Same.
	* docs/doxygen/tables.html: Same.

From-SVN: r119334
This commit is contained in:
Benjamin Kosnik 2006-11-29 20:59:22 +00:00 committed by Benjamin Kosnik
parent 3a7d5586cb
commit 78a5388739
97 changed files with 663 additions and 186 deletions

View File

@ -1,3 +1,111 @@
2006-11-29 Benjamin Kosnik <bkoz@redhat.com>
* include/ext/throw_allocator.h: Consistent @file markup.
* include/ext/type_traits.h: Same.
* include/debug/hash_map: Same.
* include/debug/hash_multimap.h: Same.
* include/debug/set.h: Same.
* include/debug/hash_set.h: Same.
* include/debug/formatter.h: Same.
* include/debug/bitset: Same.
* include/debug/set: Same.
* include/debug/multiset.h: Same.
* include/debug/safe_sequence.h: Same.
* include/debug/hash_set: Same.
* include/debug/functions.h: Same.
* include/debug/safe_base.h: Same.
* include/debug/hash_multiset.h: Same.
* include/debug/safe_iterator.tcc: Same.
* include/debug/vector: Same.
* include/debug/map.h: Same.
* include/debug/deque: Same.
* include/debug/hash_map.h: Same.
* include/debug/string: Same.
* include/debug/macros.h: Same.
* include/debug/list: Same.
* include/debug/debug.h: Same.
* include/debug/map: Same.
* include/debug/safe_iterator.h: Same.
* include/debug/multimap.h: Same.
* config/cpu/generic/atomicity_mutex/atomicity.h: Same.
* config/cpu/generic/atomicity_builtins/atomicity.h: Same.
* config/cpu/generic/atomic_word.h: Same.
* include/tr1/memory: Same.
* include/tr1/random: Same.
* include/std/std_queue.h: Same.
* include/std/std_iterator.h: Same.
* include/std/std_bitset.h: Same.
* include/std/std_set.h: Same.
* include/std/std_vector.h: Same.
* include/std/std_deque.h: Same.
* include/std/std_utility.h: Same.
* include/std/std_stack.h: Same.
* include/std/std_string.h: Same.
* include/std/std_list.h: Same.
* include/std/std_map.h: Same.
* libsupc++/typeinfo: Same.
* libsupc++/exception: Same.
* libsupc++/exception_defines.h: Same.
* libsupc++/new: Same.
* include/ext/bitmap_allocator.h: Change namespace __balloc to
__detail.
* src/bitmap_allocator.cc: Same.
* include/bits/cpp_type_traits.h: Change __true_type and
__false_type from global to namespace std scope.
* include/ext/slist: Same.
* include/ext/vstring.h: Same.
* include/ext/vstring.tcc: Same.
* include/ext/rc_string_base.h: Same.
* include/ext/sso_string_base.h: Same.
* include/bits/codecvt.h: Adjust markup so that correct namespace
scope information is in all files.
* include/bits/locale_facets.h: Same. Include ctype_base directly.
* config/os/windiss/ctype_base.h: Add in namespace markup.
* config/os/newlib/ctype_base.h: Same.
* config/os/aix/ctype_base.h: Same.
* config/os/vxworks/ctype_base.h: Same.
* config/os/hpux/ctype_base.h: Same.
* config/os/mingw32/ctype_base.h: Same.
* config/os/gnu-linux/ctype_base.h: Same.
* config/os/tpf/ctype_base.h: Same.
* config/os/uclibc/ctype_base.h: Same.
* config/os/djgpp/ctype_base.h: Same.
* config/os/qnx/qnx6.1/ctype_base.h: Same.
* config/os/bsd/netbsd/ctype_base.h: Same.
* config/os/bsd/darwin/ctype_base.h: Same.
* config/os/bsd/freebsd/ctype_base.h: Same.
* config/os/irix/irix5.2/ctype_base.h: Same.
* config/os/irix/irix6.5/ctype_base.h: Same.
* config/os/solaris/solaris2.5/ctype_base.h: Same.
* config/os/solaris/solaris2.6/ctype_base.h: Same.
* config/os/solaris/solaris2.7/ctype_base.h: Same.
* config/os/generic/ctype_base.h: Same.
* include/tr1/mu_iterate.h: Same.
* include/tr1/tuple: Same.
* include/tr1/tuple_iterate.h: Same.
* include/tr1/tuple_defs.h: Same.
* include/tr1/random.tcc: Same.
* include/tr1/functional: Same.
* include/tr1/functional_iterate.h: Same.
* testsuite/ext/type_traits/remove_unsigned_integer_neg.cc: Line
number changes.
* testsuite/ext/type_traits/add_unsigned_floating_neg.cc: Same.
* testsuite/ext/type_traits/remove_unsigned_floating_neg.cc: Same.
* testsuite/ext/type_traits/add_unsigned_integer_neg.cc: Same.
* docs/doxygen/user.cfg.in: Update to doxygen 1.5.1.
* docs/html/17_intro/license.html: Updated info for generated docs.
* docs/doxygen/guide.html: Adjust.
* docs/doxygen/run_doxygen: Adjust.
* docs/doxygen/mainpage.html: Same.
* docs/doxygen/doxygroups.cc: Same.
* docs/doxygen/Intro.3: Same.
* docs/doxygen/tables.html: Same.
2006-11-26 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/29385 (2nd part, based on an idea by Ion Gaztanaga)

View File

@ -27,6 +27,10 @@
// invalidate any other reasons why the executable file might be covered by
// the GNU General Public License.
/** @file ext/atomic_word.h
* This file is a GNU extension to the Standard C++ Library.
*/
#ifndef _GLIBCXX_ATOMIC_WORD_H
#define _GLIBCXX_ATOMIC_WORD_H 1

View File

@ -28,6 +28,10 @@
// invalidate any other reasons why the executable file might be covered by
// the GNU General Public License.
/** @file ext/atomicity.h
* This file is a GNU extension to the Standard C++ Library.
*/
#include <bits/c++config.h>
#include <bits/atomic_word.h>

View File

@ -28,6 +28,10 @@
// invalidate any other reasons why the executable file might be covered by
// the GNU General Public License.
/** @file ext/atomicity.h
* This file is a GNU extension to the Standard C++ Library.
*/
#include <ext/atomicity.h>
#include <ext/concurrence.h>

View File

@ -33,6 +33,9 @@
// Information as gleaned from /usr/include/ctype.h
_GLIBCXX_BEGIN_NAMESPACE(std)
/// @brief Base class for ctype.
struct ctype_base
{
// Non-standard typedefs.
@ -53,3 +56,5 @@
static const mask punct = _ISPUNCT;
static const mask alnum = _ISALPHA | _ISDIGIT;
};
_GLIBCXX_END_NAMESPACE

View File

@ -35,6 +35,9 @@
// 4.0 and all versions of the CVS managed file at:
// :pserver:anoncvs@anoncvs.freebsd.org:/home/ncvs/src/include/ctype.h
_GLIBCXX_BEGIN_NAMESPACE(std)
/// @brief Base class for ctype.
struct ctype_base
{
// Non-standard typedefs.
@ -70,5 +73,4 @@
#endif
};
_GLIBCXX_END_NAMESPACE

View File

@ -35,6 +35,9 @@
// 4.0 and all versions of the CVS managed file at:
// :pserver:anoncvs@anoncvs.freebsd.org:/home/ncvs/src/include/ctype.h
_GLIBCXX_BEGIN_NAMESPACE(std)
/// @brief Base class for ctype.
struct ctype_base
{
// Non-standard typedefs.
@ -72,5 +75,4 @@
#endif
};
_GLIBCXX_END_NAMESPACE

View File

@ -36,6 +36,9 @@
// anoncvs@anoncvs.netbsd.org:/cvsroot/basesrc/include/ctype.h
// See www.netbsd.org for details of access.
_GLIBCXX_BEGIN_NAMESPACE(std)
/// @brief Base class for ctype.
struct ctype_base
{
// Non-standard typedefs.
@ -56,3 +59,5 @@
static const mask punct = _P;
static const mask alnum = _U | _L | _N;
};
_GLIBCXX_END_NAMESPACE

View File

@ -31,6 +31,9 @@
// ISO C++ 14882: 22.1 Locales
//
_GLIBCXX_BEGIN_NAMESPACE(std)
/// @brief Base class for ctype.
struct ctype_base
{
typedef unsigned short mask;
@ -53,5 +56,4 @@
static const mask graph = __dj_ISALPHA | __dj_ISDIGIT | __dj_ISPUNCT; // Graphical
};
_GLIBCXX_END_NAMESPACE

View File

@ -33,6 +33,9 @@
// Default information, may not be appropriate for specific host.
_GLIBCXX_BEGIN_NAMESPACE(std)
/// @brief Base class for ctype.
struct ctype_base
{
// Non-standard typedefs.
@ -54,5 +57,4 @@
static const mask alnum = (1 << 2) | (1 << 3); // alpha|digit
};
_GLIBCXX_END_NAMESPACE

View File

@ -39,6 +39,8 @@
// Information as gleaned from /usr/include/ctype.h
_GLIBCXX_BEGIN_NAMESPACE(std)
/// @brief Base class for ctype.
struct ctype_base
{
@ -60,3 +62,5 @@
static const mask punct = _ISpunct;
static const mask alnum = _ISalpha | _ISdigit;
};
_GLIBCXX_END_NAMESPACE

View File

@ -33,6 +33,9 @@
// Default information, may not be appropriate for specific host.
_GLIBCXX_BEGIN_NAMESPACE(std)
/// @brief Base class for ctype.
struct ctype_base
{
// Non-standard typedefs.
@ -53,3 +56,5 @@
static const mask punct = _ISPUNCT;
static const mask alnum = _ISALPHA | _ISDIGIT;
};
_GLIBCXX_END_NAMESPACE

View File

@ -33,6 +33,9 @@
// Information as gleaned from /usr/include/ctype.h on irix 5.2
_GLIBCXX_BEGIN_NAMESPACE(std)
/// @brief Base class for ctype.
struct ctype_base
{
// Non-standard typedefs.
@ -53,3 +56,5 @@
static const mask punct = _P;
static const mask alnum = _U | _L | _N;
};
_GLIBCXX_END_NAMESPACE

View File

@ -33,6 +33,9 @@
// Information as gleaned from /usr/include/ctype.h on irix 6.5
_GLIBCXX_BEGIN_NAMESPACE(std)
/// @brief Base class for ctype.
struct ctype_base
{
// Non-standard typedefs.
@ -53,3 +56,5 @@
static const mask punct = _ISpunct;
static const mask alnum = _ISalpha | _ISdigit;
};
_GLIBCXX_END_NAMESPACE

View File

@ -33,6 +33,9 @@
// Information, as gleaned from /mingw32/include/ctype.h.
_GLIBCXX_BEGIN_NAMESPACE(std)
/// @brief Base class for ctype.
struct ctype_base
{
// Non-standard typedefs.
@ -54,5 +57,4 @@
static const mask alnum = (_ALPHA | _DIGIT);
};
_GLIBCXX_END_NAMESPACE

View File

@ -35,6 +35,9 @@
// Support for Solaris 2.5.1
_GLIBCXX_BEGIN_NAMESPACE(std)
/// @brief Base class for ctype.
struct ctype_base
{
// Non-standard typedefs.
@ -55,3 +58,5 @@
static const mask punct = _P;
static const mask alnum = _U | _L | _N;
};
_GLIBCXX_END_NAMESPACE

View File

@ -33,6 +33,9 @@
// Information as gleaned from /usr/include/ctype.h.
_GLIBCXX_BEGIN_NAMESPACE(std)
/// @brief Base class for ctype.
struct ctype_base
{
// Non-standard typedefs.
@ -53,3 +56,5 @@
static const mask punct = _PU;
static const mask alnum = _DI | _LO | _UP | _XA;
};
_GLIBCXX_END_NAMESPACE

View File

@ -33,6 +33,9 @@
// Information as gleaned from /usr/include/ctype.h, for solaris2.5.1
_GLIBCXX_BEGIN_NAMESPACE(std)
/// @brief Base class for ctype.
struct ctype_base
{
// Non-standard typedefs.
@ -53,3 +56,5 @@
static const mask punct = 020;
static const mask alnum = 01 | 02 | 04;
};
_GLIBCXX_END_NAMESPACE

View File

@ -34,6 +34,9 @@
// Information as gleaned from /usr/include/ctype.h. Looks like this
// only works with solaris2.6.
_GLIBCXX_BEGIN_NAMESPACE(std)
/// @brief Base class for ctype.
struct ctype_base
{
// Non-standard typedefs.
@ -54,3 +57,5 @@
static const mask punct = _ISPUNCT;
static const mask alnum = _ISALPHA | _ISDIGIT;
};
_GLIBCXX_END_NAMESPACE

View File

@ -35,6 +35,9 @@
// only works with solaris2.7 and solaris2.8. Thanks for not changing
// things, sun engineers!
_GLIBCXX_BEGIN_NAMESPACE(std)
/// @brief Base class for ctype.
struct ctype_base
{
// Non-standard typedefs.
@ -55,3 +58,5 @@
static const mask punct = _ISPUNCT;
static const mask alnum = _ISALPHA | _ISDIGIT;
};
_GLIBCXX_END_NAMESPACE

View File

@ -33,6 +33,9 @@
// Information as gleaned from /usr/include/ctype.h
_GLIBCXX_BEGIN_NAMESPACE(std)
/// @brief Base class for ctype.
struct ctype_base
{
// Non-standard typedefs.
@ -53,3 +56,5 @@
static const mask punct = _ISpunct;
static const mask alnum = _ISalpha | _ISdigit;
};
_GLIBCXX_END_NAMESPACE

View File

@ -39,6 +39,8 @@
// Information as gleaned from /usr/include/ctype.h
_GLIBCXX_BEGIN_NAMESPACE(std)
/// @brief Base class for ctype.
struct ctype_base
{
@ -62,3 +64,5 @@
static const mask punct = _ISpunct;
static const mask alnum = _ISalpha | _ISdigit;
};
_GLIBCXX_END_NAMESPACE

View File

@ -33,6 +33,9 @@
// Information extracted from target/h/ctype.h.
_GLIBCXX_BEGIN_NAMESPACE(std)
/// @brief Base class for ctype.
struct ctype_base
{
// Non-standard typedefs.
@ -55,5 +58,4 @@
static const mask alnum = _C_UPPER | _C_LOWER | _C_NUMBER;
};
_GLIBCXX_END_NAMESPACE

View File

@ -33,6 +33,9 @@
// Default information, may not be appropriate for specific host.
_GLIBCXX_BEGIN_NAMESPACE(std)
/// @brief Base class for ctype.
struct ctype_base
{
// Non-standard typedefs.
@ -53,3 +56,5 @@
static const mask punct = _P;
static const mask alnum = _U | _L | _N;
};
_GLIBCXX_END_NAMESPACE

View File

@ -1,13 +1,13 @@
.\" t
.\" This man page is released under the FDL as part of libstdc++-v3.
.TH C++Intro 3 "20 May 2004" "GNU libstdc++-v3" "Standard C++ Library"
.\" This man page is released under the FDL as part of libstdc++.
.TH C++Intro 3 "20 May 2004" "GNU libstdc++" "Standard C++ Library"
.SH NAME
C++Intro \- Introduction to the GNU libstdc++-v3 man pages
C++Intro \- Introduction to the GNU libstdc++ man pages
.SH DESCRIPTION
This man page serves as a brief introduction to the GNU implementation of
the Standard C++ Library. For a better introduction and more complete
documentation, see the
.B libstdc++-v3
.B libstdc++
homepage listed at the end.
.P
All standard library entities are declared within
@ -109,7 +109,7 @@ lB lB.
.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
libstdc++ to use shared libraries, this will always be used. Otherwise
it will only be used if the user requests it.
.TP
.I libsupc++.a

View File

@ -17,26 +17,39 @@
// // // // // // // // // // // // // // // // // // // // // // // //
/** @namespace std
* @brief Everything defined by the ISO C++ Standard is within namespace std.
* @brief Everything defined by the ISO C++ Standard is within
* namespace <a class="el" href="namespacestd.html">std</a>.
*/
/** @namespace std::__detail
* @brief Implementation details not part of the namespace <a class="el"
* href="namespacestd.html">std</a> interface.
*/
/** @namespace std::tr1
* @brief Everything defined by the TR1 is within namespace std::tr1.
* @brief Everything defined by the ISO C++ TR1 is within namespace std::tr1.
*/
/** @namespace std::tr1::__detail
* @brief Implementation details not part of the namespace std::tr1 interface.
*/
/** @namespace __gnu_cxx
* @brief GNU extensions for public use.
*/
/** @namespace __gnu_cxx::balloc
* @brief Related to __gnu_cxx::bitmap_allocator.
/** @namespace __gnu_cxx::__detail
* @brief Implementation details not part of the namespace __gnu_cxx
* interface.
*/
/** @namespace __gnu_cxx::typelist
* @brief GNU typelist extensions for public compile-time use.
*/
/** @namespace __gnu_internal
* @brief GNU implemenation details, not for public use.
* @brief GNU implemenation details, not for public use or
* export. Used only when anonymous namespaces cannot be substituted.
*/
/** @namespace __gnu_debug
* @brief GNU debug mode implemenation details.
* @brief GNU debug mode classes for public use.
*/
// // // // // // // // // // // // // // // // // // // // // // // //
/** @addtogroup SGIextensions STL extensions from SGI
Because libstdc++-v3 based its implementation of the STL subsections of
Because libstdc++ based its implementation of the STL subsections of
the library on the SGI 3.3 implementation, we inherited their extensions
as well.
@ -118,9 +131,10 @@ All associative containers must meet certain requirements, summarized in
// // // // // // // // // // // // // // // // // // // // // // // //
/** @namespace abi
* @brief The cross-vendor C++ Application Binary Interface.
* @brief The cross-vendor C++ Application Binary Interface. A
* namespace alias to __cxxabiv1.
*
* A brief overview of an ABI is given in the libstdc++-v3 FAQ, question
* A brief overview of an ABI is given in the libstdc++ FAQ, question
* 5.8 (you may have a copy of the FAQ locally, or you can view the online
* version at http://gcc.gnu.org/onlinedocs/libstdc++/faq/index.html#5_8).
*

View File

@ -4,15 +4,15 @@
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Build and Writing Guide for libstdc++-v3 Doxygen</title>
<title>Build and Writing Guide for libstdc++ Doxygen</title>
<link href="style.css" rel="stylesheet" type="text/css">
</head>
<body bgcolor="#ffffff">
<h1>libstdc++-v3 Source Documentation</h1>
<h1>libstdc++ Source Documentation</h1>
<p>This file is docs/doxygen/guide.html in the libstdc++-v3 source tree. It
<p>This file is docs/doxygen/guide.html in the libstdc++ source tree. It
is not included in the generated pages (no real point to doing that).
</p>
@ -26,7 +26,7 @@
<a name="creating"><h2>Creating the pages</h2></a>
<p>The Makefile rules <code>'make doxygen'</code>,
<code>'make doxygen-maint'</code>, and <code>'make doxygen-man'</code>
in the libstdc++-v3 build directory generate the user-level HTML docs, the
in the libstdc++ build directory generate the user-level HTML docs, the
maintainer-level HTML docs, and the man pages, respectively. Prerequisite
tools are Bash 2.x,
<a href="http://www.doxygen.org/">
@ -57,7 +57,7 @@
</p>
<a name="writing"><h2>Writing the markup</h2></a>
<p>In general, libstdc++-v3 files should be formatted according to the GNU
<p>In general, libstdc++ files should be formatted according to the GNU
C++ Coding Standard rules found in the file
<a href="http://gcc.gnu.org/onlinedocs/libstdc++/17_intro/C++STYLE">C++STYLE</a>.
Before any doxygen-specific formatting tweaks are made, please try to make

View File

@ -1,7 +1,7 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>libstdc++-v3 Source: Main Index</title>
<title>libstdc++ Source: Main Index</title>
<link href="style.css" rel="stylesheet" type="text/css">
</head>
@ -21,13 +21,13 @@
Tags actually work like they're supposed to in HTML.
-->
<h1>libstdc++-v3 Source Documentation</h1>
<h1>libstdc++ Source Documentation</h1>
<h2>Documentation Overview</h2>
<p class="smallertext">@LEVEL@-level docs, generated @DATE@.</p>
<p>There are two types of documentation for libstdc++-v3. One is the
<p>There are two types of documentation for libstdc++. One is the
distribution documentation, which can be read online at
<a href="http://gcc.gnu.org/onlinedocs/libstdc++/documentation.html">http://gcc.gnu.org/onlinedocs/libstdc++/documentation.html</a>
or offline from docs/html/documentation.html in the library source
@ -45,11 +45,11 @@
<p>Here are entry points to all the pages generated by Doxygen:
<ul>
<li><a href="modules.html">Modules</a>
<li><a href="namespaces.html">Namespace List</a>
<li><a href="hierarchy.html">Class List</a>
<li><a href="annotated.html">Class Annotated List</a>
<li><a href="classes.html">Class Alphabetical Index</a>
<li><a href="globals_func.html">Function Alphabetical List</a>
<li><a href="namespaces.html">Namespace List</a>
<li><a href="files.html">Source File List</a>
<li><a href="todo.html">TODO List</a> (This is incomplete... how ironic.)
</ul>
@ -74,7 +74,7 @@
create (and write) the pages.
<h2>License, Copyright, and Other Lawyerly Verbosity</h2>
<p>The libstdc++-v3 documentation is released under
<p>The libstdc++ documentation is released under
<a href="http://gcc.gnu.org/onlinedocs/libstdc++/17_intro/license.html">
these terms</a>.
</p>

View File

@ -155,6 +155,7 @@ fi
cd $builddir
sed -e "s=@outdir@=${outdir}=g" \
-e "s=@srcdir@=${srcdir}=g" \
-e "s=@builddir@=${builddir}=g" \
-e "s=@host_alias@=${host_alias}=g" \
-e "s=@html_output_dir@=html_${mode}=" \
-e "s=@enabled_sections@=${enabled_sections}=" \

View File

@ -635,7 +635,7 @@ examples of the latter are multiset and multimap.
<hr />
<p class="smallertext"><em>
See <a href="mainpage.html">mainpage.html</a> for copying conditions.
See <a href="http://gcc.gnu.org/libstdc++/">the libstdc++-v3 homepage</a>
See <a href="http://gcc.gnu.org/libstdc++/">the libstdc++ homepage</a>
for more information.
</em></p>

View File

@ -1,4 +1,4 @@
# Doxyfile 1.4.4
# Doxyfile 1.5.1
# This file describes the settings to be used by the documentation system
# doxygen (www.doxygen.org) for a project
@ -17,7 +17,7 @@
# The PROJECT_NAME tag is a single word (or a sequence of words surrounded
# by quotes) that should identify the project.
PROJECT_NAME = "libstdc++"
PROJECT_NAME = libstdc++
# The PROJECT_NUMBER tag can be used to enter a project or revision number.
# This could be handy for archiving the generated documentation or
@ -45,11 +45,11 @@ CREATE_SUBDIRS = NO
# documentation generated by doxygen is written. Doxygen will use this
# information to generate all constant output in the proper language.
# The default language is English, other supported languages are:
# Brazilian, Catalan, Chinese, Chinese-Traditional, Croatian, Czech, Danish,
# Dutch, Finnish, French, German, Greek, Hungarian, Italian, Japanese,
# Japanese-en (Japanese with English messages), Korean, Korean-en, Norwegian,
# Polish, Portuguese, Romanian, Russian, Serbian, Slovak, Slovene, Spanish,
# Swedish, and Ukrainian.
# Afrikaans, Arabic, Brazilian, Catalan, Chinese, Chinese-Traditional,
# Croatian, Czech, Danish, Dutch, Finnish, French, German, Greek, Hungarian,
# Italian, Japanese, Japanese-en (Japanese with English messages), Korean,
# Korean-en, Lithuanian, Norwegian, Polish, Portuguese, Romanian, Russian,
# Serbian, Slovak, Slovene, Spanish, Swedish, and Ukrainian.
OUTPUT_LANGUAGE = English
@ -97,10 +97,11 @@ ABBREVIATE_BRIEF =
ALWAYS_DETAILED_SEC = YES
# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all
# inherited members of a class in the documentation of that class as if those
# members were ordinary class members. Constructors, destructors and assignment
# operators of the base classes will not be shown.
# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show
# all inherited members of a class in the documentation of that class
# as if those members were ordinary class members. Constructors,
# destructors and assignment operators of the base classes will not be
# shown.
INLINE_INHERITED_MEMB = YES
@ -163,13 +164,6 @@ DETAILS_AT_TOP = YES
INHERIT_DOCS = YES
# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC
# tag is set to YES, then doxygen will reuse the documentation of the first
# member in the group (if any) for the other members of the group. By default
# all members of a group must be documented explicitly.
DISTRIBUTE_GROUP_DOC = YES
# If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce
# a new page for each member. If set to NO, the documentation of a member will
# be part of the file/class/namespace that contains it.
@ -191,10 +185,10 @@ TAB_SIZE = 4
ALIASES = "doctodo=@todo\nDoc me! See docs/doxygen/TODO and http://gcc.gnu.org/ml/libstdc++/2002-02/msg00003.html for more." \
"isiosfwd=One of the @link s27_2_iosfwd I/O forward declarations @endlink"
# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of
# C sources only. Doxygen will then generate output that is more
# tailored for C. For instance, some of the names that are used will
# be different. The list of all members will be omitted, etc.
# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C
# sources only. Doxygen will then generate output that is more tailored for C.
# For instance, some of the names that are used will be different. The list
# of all members will be omitted, etc.
OPTIMIZE_OUTPUT_FOR_C = NO
@ -205,6 +199,23 @@ OPTIMIZE_OUTPUT_FOR_C = NO
OPTIMIZE_OUTPUT_JAVA = NO
# If you use STL classes (i.e. std::string, std::vector, etc.) but do
# not want to include (a tag file for) the STL sources as input, then
# you should set this tag to YES in order to let doxygen match
# functions declarations and definitions whose arguments contain STL
# classes (e.g. func(std::string); v.s. func(std::string) {}). This
# also make the inheritance and collaboration diagrams that involve
# STL classes more complete and accurate.
BUILTIN_STL_SUPPORT = NO
# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC
# tag is set to YES, then doxygen will reuse the documentation of the first
# member in the group (if any) for the other members of the group. By default
# all members of a group must be documented explicitly.
DISTRIBUTE_GROUP_DOC = YES
# Set the SUBGROUPING tag to YES (the default) to allow class member groups of
# the same type (for instance a group of public functions) to be put as a
# subgroup of that type (e.g. under the Public Functions section). Set it to
@ -289,13 +300,14 @@ INTERNAL_DOCS = NO
# in case and if your file system supports case sensitive file names. Windows
# and Mac users are advised to set this option to NO.
CASE_SENSE_NAMES = NO
CASE_SENSE_NAMES = NO#
# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen
# will show members with their full class and namespace scopes in the
# documentation. If set to YES the scope will be hidden.
HIDE_SCOPE_NAMES = YES
HIDE_SCOPE_NAMES = NO
#HIDE_SCOPE_NAMES = YES
# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then
# Doxygen will put a list of the files that are included by a file in
@ -330,6 +342,7 @@ SORT_BRIEF_DOCS = YES
# Note: This option applies only to the class list, not to the
# alphabetical list.
#SORT_BY_SCOPE_NAME = NO
SORT_BY_SCOPE_NAME = YES
# The GENERATE_TODOLIST tag can be used to enable (YES) or
@ -379,7 +392,7 @@ SHOW_USED_FILES = YES
# If the sources in your project are distributed over multiple
# directories then setting the SHOW_DIRECTORIES tag to YES will show
# the directory hierarchy in the documentation. The default is YES.
# the directory hierarchy in the documentation. The default is NO.
SHOW_DIRECTORIES = YES
@ -389,7 +402,7 @@ SHOW_DIRECTORIES = YES
# invoke the program by executing (via popen()) the command <command>
# <input-file>, where <command> is the value of the
# FILE_VERSION_FILTER tag, and <input-file> is the name of an input
# file provided by doxygen. Whatever the progam writes to standard
# file provided by doxygen. Whatever the program writes to standard
# output is used as the file version. See the manual for examples.
FILE_VERSION_FILTER =
@ -455,14 +468,15 @@ WARN_LOGFILE =
# files or directories with spaces.
INPUT = @srcdir@/docs/doxygen/doxygroups.cc \
include/@host_alias@/bits \
include/bits \
include/ext \
include/tr1 \
@srcdir@/libsupc++ \
@srcdir@/libsupc++/exception \
@srcdir@/libsupc++/new \
@srcdir@/libsupc++/typeinfo \
@srcdir@/libsupc++/cxxabi.h \
include/@host_alias@/bits \
include/bits \
include/debug \
include/ext \
include/tr1 \
include/algorithm \
include/bitset \
include/deque \
@ -481,6 +495,7 @@ INPUT = @srcdir@/docs/doxygen/doxygroups.cc \
include/memory \
include/numeric \
include/ostream \
include/queue \
include/set \
include/sstream \
include/stack \
@ -490,18 +505,48 @@ INPUT = @srcdir@/docs/doxygen/doxygroups.cc \
include/utility \
include/valarray \
include/vector \
include/debug/bitset \
include/debug/deque \
include/debug/hash_map \
include/debug/hash_set \
include/debug/list \
include/debug/map \
include/debug/set \
include/debug/string \
include/debug/vector \
include/ext/algorithm \
include/ext/functional \
include/ext/hash_map \
include/ext/hash_set \
include/ext/iterator \
include/ext/memory \
include/ext/numeric \
include/ext/rb_tree \
include/ext/rope \
include/ext/slist \
include/ext/pb_ds \
include/ext/pb_ds/detail \
include/tr1/array \
include/tr1/cctype \
include/tr1/cfenv \
include/tr1/cfloat \
include/tr1/cinttypes \
include/tr1/climits \
include/tr1/cmath \
include/tr1/complex \
include/tr1/cstdarg \
include/tr1/cstdbool \
include/tr1/cstdint \
include/tr1/cstdio \
include/tr1/cstdlib \
include/tr1/ctgmath \
include/tr1/ctime \
include/tr1/cwchar \
include/tr1/cwctype \
include/tr1/functional \
include/tr1/hashtable \
include/tr1/memory \
include/tr1/random \
include/tr1/tuple \
include/tr1/type_traits \
include/tr1/unordered_map \
@ -513,9 +558,10 @@ INPUT = @srcdir@/docs/doxygen/doxygroups.cc \
# *.cpp and *.h) to filter out the source-files in the directories. If
# left blank the following patterns are tested: *.c *.cc *.cxx *.cpp
# *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx *.hpp *.h++
# *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm
# *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.py
FILE_PATTERNS = *.h \
*.hpp \
*.tcc
# The RECURSIVE tag can be used to turn specify whether or not subdirectories
@ -529,14 +575,11 @@ RECURSIVE = NO
# exclude a subdirectory from a directory tree whose root is specified
# with the INPUT tag.
EXCLUDE = Makefile \
CVS \
include/bits/demangle.h \
stdc++.h.gch
EXCLUDE = Makefile
# The EXCLUDE_SYMLINKS tag can be used select whether or not files or
# directories that are symbolic links (a Unix filesystem feature) are
# excluded from the input.
# The EXCLUDE_SYMLINKS tag can be used select whether or not files or
# directories that are symbolic links (a Unix filesystem feature) are excluded
# from the input.
EXCLUDE_SYMLINKS = NO
@ -546,10 +589,10 @@ EXCLUDE_SYMLINKS = NO
# against the file with absolute path, so to exclude all test directories
# for example use the pattern */test/*
EXCLUDE_PATTERNS = CVS \
stamp-* \
EXCLUDE_PATTERNS = stamp-* \
Makefile \
*gch*
*gch* \
*/.svn/*
# The EXAMPLE_PATH tag can be used to specify one or more files or
# directories that contain example code fragments that are included (see
@ -577,13 +620,13 @@ EXAMPLE_RECURSIVE = NO
IMAGE_PATH =
# The INPUT_FILTER tag can be used to specify a program that doxygen
# should invoke to filter for each input file. Doxygen will invoke the
# filter program by executing (via popen()) the command <filter>
# <input-file>, where <filter> is the value of the INPUT_FILTER tag,
# and <input-file> is the name of an input file. Doxygen will then use
# the output that the filter program writes to standard output. If
# FILTER_PATTERNS is specified, this tag will be ignored.
# The INPUT_FILTER tag can be used to specify a program that doxygen should
# invoke to filter for each input file. Doxygen will invoke the filter program
# by executing (via popen()) the command <filter> <input-file>, where <filter>
# is the value of the INPUT_FILTER tag, and <input-file> is the name of an
# input file. Doxygen will then use the output that the filter program writes
# to standard output. If FILTER_PATTERNS is specified, this tag will be
# ignored.
INPUT_FILTER =
@ -636,6 +679,13 @@ REFERENCED_BY_RELATION = YES
REFERENCES_RELATION = YES
# If the REFERENCES_LINK_SOURCE tag is set to YES (the default)
# and SOURCE_BROWSER tag is set to YES, then the hyperlinks from
# functions in REFERENCES_RELATION and REFERENCED_BY_RELATION lists will
# link to the source code. Otherwise they will link to the documentstion.
REFERENCES_LINK_SOURCE = YES
# If the USE_HTAGS tag is set to YES then the references to source code
# will point to the HTML generated by the htags(1) tool instead of doxygen
# built-in source browser. The htags tool is part of GNU's global source
@ -671,10 +721,11 @@ COLS_IN_ALPHA_INDEX = 2
# The IGNORE_PREFIX tag can be used to specify one or more prefixes that
# should be ignored while generating the index headers.
IGNORE_PREFIX = std \
std::tr1 \
__gnu_cxx \
__gnu_debug
#IGNORE_PREFIX = std \
# std::tr1 \
# __gnu_cxx \
# __gnu_debug
IGNORE_PREFIX =
#---------------------------------------------------------------------------
# configuration options related to the HTML output
@ -942,7 +993,7 @@ MAN_LINKS = NO
# generate an XML file that captures the structure of
# the code including all documentation.
GENERATE_XML = NO
GENERATE_XML = YES
# The XML_OUTPUT tag is used to specify where the XML pages will be put.
# If a relative path is entered the value of OUTPUT_DIRECTORY will be
@ -1028,14 +1079,15 @@ ENABLE_PREPROCESSING = YES
# names in the source code. If set to NO (the default) only conditional
# compilation will be performed. Macro expansion can be done in a controlled
# way by setting EXPAND_ONLY_PREDEF to YES.
# GLIBCXX NOTE: Necessary for namespaces to be sorted correctly.
MACRO_EXPANSION = YES
# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES
# then the macro expansion is limited to the macros specified with the
# PREDEFINED and EXPAND_AS_PREDEFINED tags.
# PREDEFINED and EXPAND_AS_DEFINED tags.
EXPAND_ONLY_PREDEF = YES
EXPAND_ONLY_PREDEF = NO
# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files
# in the INCLUDE_PATH (see below) will be search if a #include is found.
@ -1055,19 +1107,25 @@ INCLUDE_PATH =
INCLUDE_FILE_PATTERNS =
# The PREDEFINED tag can be used to specify one or more macro names that
# are defined before the preprocessor is started (similar to the -D option of
# gcc). The argument of the tag is a list of macros of the form: name
# or name=definition (no spaces). If the definition and the = are
# omitted =1 is assumed. To prevent a macro definition from being
# undefined via #undef or recursively expanded use the := operator
# instead of the = operator.
# The PREDEFINED tag can be used to specify one or more macro names
# that are defined before the preprocessor is started (similar to the
# -D option of gcc). The argument of the tag is a list of macros of
# the form: name or name=definition (no spaces). If the definition and
# the = are omitted =1 is assumed. To prevent a macro definition from
# being undefined via #undef or recursively expanded use the :=
# operator instead of the = operator.
PREDEFINED = __GTHREADS \
_GLIBCXX_STD=std \
"_GLIBCXX_BEGIN_NAMESPACE(name)=namespace name {" \
"_GLIBCXX_BEGIN_NESTED_NAMESPACE(name, unused)=namespace name {" \
_GLIBCXX_END_NAMESPACE=} \
_GLIBCXX_END_NESTED_NAMESPACE=} \
"_GLIBCXX_TEMPLATE_ARGS=..." \
_GLIBCXX_DEPRECATED \
_GLIBCXX_USE_WCHAR_T \
_GLIBCXX_USE_LONG_LONG \
__glibcxx_function_requires=// \
__glibcxx_class_requires=// \
__glibcxx_class_requires2=// \
__glibcxx_class_requires3=// \
@ -1187,7 +1245,8 @@ UML_LOOK = NO
# If set to YES, the inheritance and collaboration graphs will show the
# relations between templates and their instances.
TEMPLATE_RELATIONS = YES
#TEMPLATE_RELATIONS = YES
TEMPLATE_RELATIONS = NO
# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT
# tags are set to YES then doxygen will generate a graph for each documented
@ -1212,6 +1271,15 @@ INCLUDED_BY_GRAPH = NO
CALL_GRAPH = NO
# If the CALLER_GRAPH and HAVE_DOT tags are set to YES then doxygen
# will generate a caller dependency graph for every global function or
# class method. Note that enabling this option will significantly
# increase the time of a run. So in most cases it will be better to
# enable caller graphs for selected functions only using the
# \callergraph command.
CALLER_GRAPH = NO
# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen
# will graphical hierarchy of all classes instead of a textual one.
@ -1228,6 +1296,7 @@ DIRECTORY_GRAPH = YES
# generated by dot. Possible values are png, jpg, or gif
# If left blank png will be used.
#DOT_IMAGE_FORMAT = svg
DOT_IMAGE_FORMAT = png
# The tag DOT_PATH can be used to specify the path where the dot tool can be
@ -1283,7 +1352,7 @@ DOT_TRANSPARENT = NO
# makes dot run faster, but since only newer versions of dot (>1.8.10)
# support this, this feature is disabled by default.
DOT_MULTI_TARGETS = NO
DOT_MULTI_TARGETS = YES
# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will
# generate a legend page explaining the meaning of the various boxes and

View File

@ -10,7 +10,7 @@
<meta name="KEYWORDS" content="libstdc++, license, licence" />
<meta name="DESCRIPTION" content="Copying restrictions for libstdc++." />
<meta name="GENERATOR" content="vi and eight fingers" />
<title>libstdc++-v3 copying</title>
<title>libstdc++ copying</title>
<link rel="StyleSheet" href="../lib3styles.css" type="text/css" />
<link rel="Start" rev="Copyright" href="../documentation.html" type="text/html"
title="GNU C++ Standard Library" />
@ -19,7 +19,7 @@
<h1 class="centered"><a name="top">Licenses for the Library</a></h1>
<p>There are two licenses affecting GNU libstdc++-v3: one for the code, and
<p>There are two licenses affecting GNU libstdc++: one for the code, and
one for the documentation. Here we will describe both of them, and try
to answer some of the widespread questions. If you have more questions,
ask the FSF or the
@ -31,7 +31,7 @@
<h2>The Code: Runtime GPL</h2>
<p>The source code of libstdc++-v3 is distributed under version 2 of the
<p>The source code of libstdc++ is distributed under version 2 of the
<a href="COPYING">GNU General Public License</a>, with the so-called
&quot;runtime exception,&quot; as follows (or see any header or
implementation file):
@ -80,10 +80,10 @@
<hr />
<h2>The Docs: FDL</h2>
<h2>The Docs: GPL, FDL</h2>
<p>The documentation shipped with the library and made available over the
web, including the pages generated from source comments, are copyrighted
web, excluding the pages generated from source comments, are copyrighted
by the Free Software Foundation, and placed under
the <a href="COPYING.DOC">GNU Free Documentation License version 1.1</a>.
There are no Front-Cover Texts, no Back-Cover Texts, and
@ -91,6 +91,12 @@
no Invariant Sections.
</p>
<p> For documentation generated by doxygen or other automated tools
via processing source code comments and markup, the original source
code license applies to the generated files. Thus, the doxygen
documents are licensed GPL.
</p>
<p>If you plan on making copies of the documentation, please let us know.
We can probably offer suggestions.
</p>

View File

@ -44,6 +44,8 @@
#pragma GCC system_header
_GLIBCXX_BEGIN_NAMESPACE(std)
/// @brief Empty base class for codecvt facet [22.2.1.5].
class codecvt_base
{
@ -467,4 +469,6 @@
~codecvt_byname() { }
};
_GLIBCXX_END_NAMESPACE
#endif // _CODECVT_H

View File

@ -78,9 +78,6 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
_GLIBCXX_END_NAMESPACE
struct __true_type { };
struct __false_type { };
_GLIBCXX_BEGIN_NAMESPACE(std)
namespace __detail
@ -96,6 +93,10 @@ namespace __detail
__two& __test_type(...);
} // namespace __detail
struct __true_type { };
struct __false_type { };
template<bool>
struct __truth_type
{ typedef __false_type __type; };

View File

@ -44,6 +44,7 @@
#include <ctime> // For struct tm
#include <cwctype> // For wctype_t
#include <bits/ctype_base.h>
#include <iosfwd>
#include <bits/ios_base.h> // For ios_base, ios_base::iostate
#include <streambuf>
@ -130,7 +131,6 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
// 22.2.1.1 Template class ctype
// Include host and configuration specific ctype enums for ctype_base.
#include <bits/ctype_base.h>
// Common base for ctype<_CharT>.
/**
@ -1530,8 +1530,12 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
template<>
ctype_byname<wchar_t>::ctype_byname(const char*, size_t refs);
// 22.2.1.5 Template class codecvt
#include <bits/codecvt.h>
_GLIBCXX_END_NAMESPACE
// 22.2.1.5 Template class codecvt
#include <bits/codecvt.h>
_GLIBCXX_BEGIN_NAMESPACE(std)
// 22.2.2 The numeric category.
class __num_base

View File

@ -28,6 +28,10 @@
// invalidate any other reasons why the executable file might be covered by
// the GNU General Public License.
/** @file debug/bitset
* This file is a GNU debug extension to the Standard C++ Library.
*/
#ifndef _GLIBCXX_DEBUG_BITSET
#define _GLIBCXX_DEBUG_BITSET

View File

@ -28,6 +28,10 @@
// invalidate any other reasons why the executable file might be covered by
// the GNU General Public License.
/** @file debug/debug.h
* This file is a GNU debug extension to the Standard C++ Library.
*/
#ifndef _GLIBCXX_DEBUG_MACRO_SWITCH_H
#define _GLIBCXX_DEBUG_MACRO_SWITCH_H 1

View File

@ -28,6 +28,10 @@
// invalidate any other reasons why the executable file might be covered by
// the GNU General Public License.
/** @file debug/deque
* This file is a GNU debug extension to the Standard C++ Library.
*/
#ifndef _GLIBCXX_DEBUG_DEQUE
#define _GLIBCXX_DEBUG_DEQUE 1

View File

@ -27,6 +27,10 @@
// invalidate any other reasons why the executable file might be covered by
// the GNU General Public License.
/** @file debug/formatter.h
* This file is a GNU debug extension to the Standard C++ Library.
*/
#ifndef _GLIBCXX_DEBUG_FORMATTER_H
#define _GLIBCXX_DEBUG_FORMATTER_H 1

View File

@ -28,6 +28,10 @@
// invalidate any other reasons why the executable file might be covered by
// the GNU General Public License.
/** @file debug/functions.h
* This file is a GNU debug extension to the Standard C++ Library.
*/
#ifndef _GLIBCXX_DEBUG_FUNCTIONS_H
#define _GLIBCXX_DEBUG_FUNCTIONS_H 1
@ -109,7 +113,7 @@ namespace __gnu_debug
*/
template<typename _Integral>
inline bool
__valid_range_aux(const _Integral&, const _Integral&, __true_type)
__valid_range_aux(const _Integral&, const _Integral&, std::__true_type)
{ return true; }
/** We have iterators, so figure out what kind of iterators that are
@ -118,7 +122,7 @@ namespace __gnu_debug
template<typename _InputIterator>
inline bool
__valid_range_aux(const _InputIterator& __first,
const _InputIterator& __last, __false_type)
const _InputIterator& __last, std::__false_type)
{
typedef typename std::iterator_traits<_InputIterator>::iterator_category
_Category;

View File

@ -28,6 +28,10 @@
// invalidate any other reasons why the executable file might be covered by
// the GNU General Public License.
/** @file debug/hash_map
* This file is a GNU debug extension to the Standard C++ Library.
*/
#ifndef _GLIBCXX_DEBUG_HASH_MAP
#define _GLIBCXX_DEBUG_HASH_MAP 1

View File

@ -28,6 +28,10 @@
// invalidate any other reasons why the executable file might be covered by
// the GNU General Public License.
/** @file debug/hash_map.h
* This file is a GNU debug extension to the Standard C++ Library.
*/
#ifndef _GLIBCXX_DEBUG_HASH_MAP_H
#define _GLIBCXX_DEBUG_HASH_MAP_H 1

View File

@ -28,6 +28,10 @@
// invalidate any other reasons why the executable file might be covered by
// the GNU General Public License.
/** @file debug/hash_multimap.h
* This file is a GNU debug extension to the Standard C++ Library.
*/
#ifndef _GLIBCXX_DEBUG_HASH_MULTIMAP_H
#define _GLIBCXX_DEBUG_HASH_MULTIMAP_H 1

View File

@ -28,6 +28,10 @@
// invalidate any other reasons why the executable file might be covered by
// the GNU General Public License.
/** @file debug/hash_multiset.h
* This file is a GNU debug extension to the Standard C++ Library.
*/
#ifndef _GLIBCXX_DEBUG_HASH_MULTISET_H
#define _GLIBCXX_DEBUG_HASH_MULTISET_H 1

View File

@ -28,6 +28,10 @@
// invalidate any other reasons why the executable file might be covered by
// the GNU General Public License.
/** @file debug/hash_set
* This file is a GNU debug extension to the Standard C++ Library.
*/
#ifndef _GLIBCXX_DEBUG_HASH_SET
#define _GLIBCXX_DEBUG_HASH_SET 1

View File

@ -28,6 +28,10 @@
// invalidate any other reasons why the executable file might be covered by
// the GNU General Public License.
/** @file debug/hash_set.h
* This file is a GNU debug extension to the Standard C++ Library.
*/
#ifndef _GLIBCXX_DEBUG_HASH_SET_H
#define _GLIBCXX_DEBUG_HASH_SET_H 1

View File

@ -28,6 +28,37 @@
// invalidate any other reasons why the executable file might be covered by
// the GNU General Public License.
// 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
// terms of the GNU General Public License as published by the
// Free Software Foundation; either version 2, or (at your option)
// any later version.
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// As a special exception, you may use this file as part of a free software
// library without restriction. Specifically, if other files instantiate
// templates or use macros or inline functions from this file, or you compile
// this file and link it with other files to produce an executable, this
// file does not by itself cause the resulting executable to be covered by
// the GNU General Public License. This exception does not however
// invalidate any other reasons why the executable file might be covered by
// the GNU General Public License.
/** @file debug/list
* This file is a GNU debug extension to the Standard C++ Library.
*/
#ifndef _GLIBCXX_DEBUG_LIST
#define _GLIBCXX_DEBUG_LIST 1

View File

@ -28,6 +28,10 @@
// invalidate any other reasons why the executable file might be covered by
// the GNU General Public License.
/** @file debug/macros.h
* This file is a GNU debug extension to the Standard C++ Library.
*/
#ifndef _GLIBCXX_DEBUG_MACROS_H
#define _GLIBCXX_DEBUG_MACROS_H 1

View File

@ -1,6 +1,6 @@
// Debugging map/multimap implementation -*- C++ -*-
// Copyright (C) 2003
// Copyright (C) 2003, 2006
// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
@ -28,6 +28,10 @@
// invalidate any other reasons why the executable file might be covered by
// the GNU General Public License.
/** @file debug/map
* This file is a GNU debug extension to the Standard C++ Library.
*/
#ifndef _GLIBCXX_DEBUG_MAP
#define _GLIBCXX_DEBUG_MAP 1

View File

@ -28,6 +28,10 @@
// invalidate any other reasons why the executable file might be covered by
// the GNU General Public License.
/** @file debug/map.h
* This file is a GNU debug extension to the Standard C++ Library.
*/
#ifndef _GLIBCXX_DEBUG_MAP_H
#define _GLIBCXX_DEBUG_MAP_H 1

View File

@ -28,6 +28,10 @@
// invalidate any other reasons why the executable file might be covered by
// the GNU General Public License.
/** @file debug/multimap.h
* This file is a GNU debug extension to the Standard C++ Library.
*/
#ifndef _GLIBCXX_DEBUG_MULTIMAP_H
#define _GLIBCXX_DEBUG_MULTIMAP_H 1

View File

@ -28,6 +28,10 @@
// invalidate any other reasons why the executable file might be covered by
// the GNU General Public License.
/** @file debug/multiset.h
* This file is a GNU debug extension to the Standard C++ Library.
*/
#ifndef _GLIBCXX_DEBUG_MULTISET_H
#define _GLIBCXX_DEBUG_MULTISET_H 1

View File

@ -28,6 +28,10 @@
// invalidate any other reasons why the executable file might be covered by
// the GNU General Public License.
/** @file debug/safe_base.h
* This file is a GNU debug extension to the Standard C++ Library.
*/
#ifndef _GLIBCXX_DEBUG_SAFE_BASE_H
#define _GLIBCXX_DEBUG_SAFE_BASE_H 1

View File

@ -28,6 +28,10 @@
// invalidate any other reasons why the executable file might be covered by
// the GNU General Public License.
/** @file debug/safe_iterator.h
* This file is a GNU debug extension to the Standard C++ Library.
*/
#ifndef _GLIBCXX_DEBUG_SAFE_ITERATOR_H
#define _GLIBCXX_DEBUG_SAFE_ITERATOR_H 1

View File

@ -28,9 +28,8 @@
// invalidate any other reasons why the executable file might be covered by
// the GNU General Public License.
/** @file safe_iterator.tcc
* This is an internal header file, included by other library headers.
* You should not attempt to use it directly.
/** @file debug/safe_iterator.tcc
* This file is a GNU debug extension to the Standard C++ Library.
*/
#ifndef _GLIBCXX_DEBUG_SAFE_ITERATOR_TCC

View File

@ -28,6 +28,10 @@
// invalidate any other reasons why the executable file might be covered by
// the GNU General Public License.
/** @file debug/safe_sequence.h
* This file is a GNU debug extension to the Standard C++ Library.
*/
#ifndef _GLIBCXX_DEBUG_SAFE_SEQUENCE_H
#define _GLIBCXX_DEBUG_SAFE_SEQUENCE_H 1

View File

@ -28,6 +28,10 @@
// invalidate any other reasons why the executable file might be covered by
// the GNU General Public License.
/** @file debug/set
* This file is a GNU debug extension to the Standard C++ Library.
*/
#ifndef _GLIBCXX_DEBUG_SET
#define _GLIBCXX_DEBUG_SET 1

View File

@ -28,6 +28,10 @@
// invalidate any other reasons why the executable file might be covered by
// the GNU General Public License.
/** @file debug/set.h
* This file is a GNU debug extension to the Standard C++ Library.
*/
#ifndef _GLIBCXX_DEBUG_SET_H
#define _GLIBCXX_DEBUG_SET_H 1

View File

@ -28,6 +28,10 @@
// invalidate any other reasons why the executable file might be covered by
// the GNU General Public License.
/** @file debug/string
* This file is a GNU debug extension to the Standard C++ Library.
*/
#ifndef _GLIBCXX_DEBUG_STRING
#define _GLIBCXX_DEBUG_STRING 1

View File

@ -28,6 +28,10 @@
// invalidate any other reasons why the executable file might be covered by
// the GNU General Public License.
/** @file debug/vector
* This file is a GNU debug extension to the Standard C++ Library.
*/
#ifndef _GLIBCXX_DEBUG_VECTOR
#define _GLIBCXX_DEBUG_VECTOR 1

View File

@ -53,7 +53,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
using std::size_t;
using std::ptrdiff_t;
namespace __balloc
namespace __detail
{
/** @class __mini_vector bitmap_allocator.h bitmap_allocator.h
*
@ -361,7 +361,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
: public std::unary_function<typename std::pair<_Tp, _Tp>, bool>
{
typedef typename std::pair<_Tp, _Tp> _Block_pair;
typedef typename __balloc::__mini_vector<_Block_pair> _BPVector;
typedef typename __detail::__mini_vector<_Block_pair> _BPVector;
typedef typename _BPVector::difference_type _Counter_type;
size_t* _M_pbitmap;
@ -385,11 +385,11 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
// store, then there is definitely no space for another single
// object, so just return false.
_Counter_type __diff =
__gnu_cxx::__balloc::__num_bitmaps(__bp);
__gnu_cxx::__detail::__num_bitmaps(__bp);
if (*(reinterpret_cast<size_t*>
(__bp.first) - (__diff + 1))
== __gnu_cxx::__balloc::__num_blocks(__bp))
== __gnu_cxx::__detail::__num_blocks(__bp))
return false;
size_t* __rover = reinterpret_cast<size_t*>(__bp.first) - 1;
@ -428,7 +428,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
template<typename _Tp>
class _Bitmap_counter
{
typedef typename __balloc::__mini_vector<typename std::pair<_Tp, _Tp> >
typedef typename __detail::__mini_vector<typename std::pair<_Tp, _Tp> >
_BPVector;
typedef typename _BPVector::size_type _Index_type;
typedef _Tp pointer;
@ -534,7 +534,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
size_t __mask = 1 << __pos;
*__pbmap |= __mask;
}
} // namespace __balloc
} // namespace __detail
/** @brief Generic Version of the bsf instruction.
*/
@ -550,7 +550,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
class free_list
{
typedef size_t* value_type;
typedef __balloc::__mini_vector<value_type> vector_type;
typedef __detail::__mini_vector<value_type> vector_type;
typedef vector_type::iterator iterator;
typedef __mutex __mutex_type;
@ -615,7 +615,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
}
// Just add the block to the list of free lists unconditionally.
iterator __temp = __gnu_cxx::__balloc::__lower_bound
iterator __temp = __gnu_cxx::__detail::__lower_bound
(__free_list.begin(), __free_list.end(),
*__addr, _LT_pointer_compare());
@ -746,7 +746,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
typedef typename std::pair<_Alloc_block*, _Alloc_block*> _Block_pair;
typedef typename
__balloc::__mini_vector<_Block_pair> _BPVector;
__detail::__mini_vector<_Block_pair> _BPVector;
#if defined _GLIBCXX_DEBUG
// Complexity: O(lg(N)). Where, N is the number of block of size
@ -755,13 +755,13 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
_S_check_for_free_blocks() throw()
{
typedef typename
__gnu_cxx::__balloc::_Ffit_finder<_Alloc_block*> _FFF;
__gnu_cxx::__detail::_Ffit_finder<_Alloc_block*> _FFF;
_FFF __fff;
typedef typename _BPVector::iterator _BPiter;
_BPiter __bpi =
__gnu_cxx::__balloc::__find_if
__gnu_cxx::__detail::__find_if
(_S_mem_blocks.begin(), _S_mem_blocks.end(),
__gnu_cxx::__balloc::_Functor_Ref<_FFF>(__fff));
__gnu_cxx::__detail::_Functor_Ref<_FFF>(__fff));
_GLIBCXX_DEBUG_ASSERT(__bpi == _S_mem_blocks.end());
}
@ -786,7 +786,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
#endif
const size_t __num_bitmaps = (_S_block_size
/ size_t(__balloc::bits_per_block));
/ size_t(__detail::bits_per_block));
const size_t __size_to_allocate = sizeof(size_t)
+ _S_block_size * sizeof(_Alloc_block)
+ __num_bitmaps * sizeof(size_t);
@ -820,7 +820,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
static _BPVector _S_mem_blocks;
static size_t _S_block_size;
static __gnu_cxx::__balloc::
static __gnu_cxx::__detail::
_Bitmap_counter<_Alloc_block*> _S_last_request;
static typename _BPVector::size_type _S_last_dealloc_index;
#if defined __GTHREADS
@ -872,13 +872,13 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
{
// Fall Back to First Fit algorithm.
typedef typename
__gnu_cxx::__balloc::_Ffit_finder<_Alloc_block*> _FFF;
__gnu_cxx::__detail::_Ffit_finder<_Alloc_block*> _FFF;
_FFF __fff;
typedef typename _BPVector::iterator _BPiter;
_BPiter __bpi =
__gnu_cxx::__balloc::__find_if
__gnu_cxx::__detail::__find_if
(_S_mem_blocks.begin(), _S_mem_blocks.end(),
__gnu_cxx::__balloc::_Functor_Ref<_FFF>(__fff));
__gnu_cxx::__detail::_Functor_Ref<_FFF>(__fff));
if (__bpi != _S_mem_blocks.end())
{
@ -886,7 +886,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
// the right as 0, meaning Allocated. This bit is obtained
// by calling _M_get() on __fff.
size_t __nz_bit = _Bit_scan_forward(*__fff._M_get());
__balloc::__bit_allocate(__fff._M_get(), __nz_bit);
__detail::__bit_allocate(__fff._M_get(), __nz_bit);
_S_last_request._M_reset(__bpi - _S_mem_blocks.begin());
@ -896,7 +896,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
size_t* __puse_count =
reinterpret_cast<size_t*>
(__bpi->first)
- (__gnu_cxx::__balloc::__num_bitmaps(*__bpi) + 1);
- (__gnu_cxx::__detail::__num_bitmaps(*__bpi) + 1);
++(*__puse_count);
return __ret;
@ -918,14 +918,14 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
// _S_last_request holds a pointer to a valid bit map, that
// points to a free block in memory.
size_t __nz_bit = _Bit_scan_forward(*_S_last_request._M_get());
__balloc::__bit_allocate(_S_last_request._M_get(), __nz_bit);
__detail::__bit_allocate(_S_last_request._M_get(), __nz_bit);
pointer __ret = reinterpret_cast<pointer>
(_S_last_request._M_base() + _S_last_request._M_offset() + __nz_bit);
size_t* __puse_count = reinterpret_cast<size_t*>
(_S_mem_blocks[_S_last_request._M_where()].first)
- (__gnu_cxx::__balloc::
- (__gnu_cxx::__detail::
__num_bitmaps(_S_mem_blocks[_S_last_request._M_where()]) + 1);
++(*__puse_count);
@ -957,7 +957,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
_GLIBCXX_DEBUG_ASSERT(_S_last_dealloc_index >= 0);
if (__gnu_cxx::__balloc::_Inclusive_between<_Alloc_block*>
if (__gnu_cxx::__detail::_Inclusive_between<_Alloc_block*>
(__real_p) (_S_mem_blocks[_S_last_dealloc_index]))
{
_GLIBCXX_DEBUG_ASSERT(_S_last_dealloc_index
@ -969,10 +969,10 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
}
else
{
_Iterator _iter = __gnu_cxx::__balloc::
_Iterator _iter = __gnu_cxx::__detail::
__find_if(_S_mem_blocks.begin(),
_S_mem_blocks.end(),
__gnu_cxx::__balloc::
__gnu_cxx::__detail::
_Inclusive_between<_Alloc_block*>(__real_p));
_GLIBCXX_DEBUG_ASSERT(_iter != _S_mem_blocks.end());
@ -984,16 +984,16 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
// Get the position of the iterator that has been found.
const size_t __rotate = (__displacement
% size_t(__balloc::bits_per_block));
% size_t(__detail::bits_per_block));
size_t* __bitmapC =
reinterpret_cast<size_t*>
(_S_mem_blocks[__diff].first) - 1;
__bitmapC -= (__displacement / size_t(__balloc::bits_per_block));
__bitmapC -= (__displacement / size_t(__detail::bits_per_block));
__balloc::__bit_free(__bitmapC, __rotate);
__detail::__bit_free(__bitmapC, __rotate);
size_t* __puse_count = reinterpret_cast<size_t*>
(_S_mem_blocks[__diff].first)
- (__gnu_cxx::__balloc::__num_bitmaps(_S_mem_blocks[__diff]) + 1);
- (__gnu_cxx::__detail::__num_bitmaps(_S_mem_blocks[__diff]) + 1);
_GLIBCXX_DEBUG_ASSERT(*__puse_count != 0);
@ -1115,14 +1115,14 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
template<typename _Tp>
size_t bitmap_allocator<_Tp>::_S_block_size =
2 * size_t(__balloc::bits_per_block);
2 * size_t(__detail::bits_per_block);
template<typename _Tp>
typename __gnu_cxx::bitmap_allocator<_Tp>::_BPVector::size_type
bitmap_allocator<_Tp>::_S_last_dealloc_index = 0;
template<typename _Tp>
__gnu_cxx::__balloc::_Bitmap_counter
__gnu_cxx::__detail::_Bitmap_counter
<typename bitmap_allocator<_Tp>::_Alloc_block*>
bitmap_allocator<_Tp>::_S_last_request(_S_mem_blocks);

View File

@ -225,7 +225,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
template<typename _InIterator>
static _CharT*
_S_construct_aux(_InIterator __beg, _InIterator __end,
const _Alloc& __a, __false_type)
const _Alloc& __a, std::__false_type)
{
typedef typename iterator_traits<_InIterator>::iterator_category _Tag;
return _S_construct(__beg, __end, __a, _Tag());
@ -234,7 +234,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
template<typename _InIterator>
static _CharT*
_S_construct_aux(_InIterator __beg, _InIterator __end,
const _Alloc& __a, __true_type)
const _Alloc& __a, std::__true_type)
{ return _S_construct(static_cast<size_type>(__beg),
static_cast<value_type>(__end), __a); }

View File

@ -62,6 +62,8 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
using std::_Construct;
using std::_Destroy;
using std::allocator;
using std::__true_type;
using std::__false_type;
struct _Slist_node_base
{

View File

@ -99,7 +99,8 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
// requires special behaviour if _InIterator is an integral type
template<typename _InIterator>
void
_M_construct_aux(_InIterator __beg, _InIterator __end, __false_type)
_M_construct_aux(_InIterator __beg, _InIterator __end,
std::__false_type)
{
typedef typename iterator_traits<_InIterator>::iterator_category _Tag;
_M_construct(__beg, __end, _Tag());
@ -107,7 +108,8 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
template<typename _InIterator>
void
_M_construct_aux(_InIterator __beg, _InIterator __end, __true_type)
_M_construct_aux(_InIterator __beg, _InIterator __end,
std::__true_type)
{ _M_construct(static_cast<size_type>(__beg),
static_cast<value_type>(__end)); }

View File

@ -39,10 +39,16 @@
// purpose. It is provided "as is" without express or implied
// warranty.
/** @file ext/vstring.h
* This file is a GNU extension to the Standard C++ Library.
*
* Contains an exception-throwing allocator, useful for testing
* exception safety. In addition, allocation addresses are stored and
* sanity checked.
*/
/**
* @file throw_allocator.h Contains an exception-throwing allocator
* useful for testing exception safety. In addition, allocation
* addresses are stored and sanity checked.
* @file throw_allocator.h
*/
#ifndef _THROW_ALLOCATOR_H

View File

@ -28,6 +28,10 @@
// reasons why the executable file might be covered by the GNU General
// Public License.
/** @file ext/type_traits.h
* This file is a GNU extension to the Standard C++ Library.
*/
#ifndef _EXT_TYPE_TRAITS
#define _EXT_TYPE_TRAITS 1

View File

@ -1200,13 +1200,13 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
template<class _Integer>
__versa_string&
_M_replace_dispatch(iterator __i1, iterator __i2, _Integer __n,
_Integer __val, __true_type)
_Integer __val, std::__true_type)
{ return _M_replace_aux(__i1 - _M_ibegin(), __i2 - __i1, __n, __val); }
template<class _InputIterator>
__versa_string&
_M_replace_dispatch(iterator __i1, iterator __i2, _InputIterator __k1,
_InputIterator __k2, __false_type);
_InputIterator __k2, std::__false_type);
__versa_string&
_M_replace_aux(size_type __pos1, size_type __n1, size_type __n2,

View File

@ -84,7 +84,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
__versa_string<_CharT, _Traits, _Alloc, _Base>&
__versa_string<_CharT, _Traits, _Alloc, _Base>::
_M_replace_dispatch(iterator __i1, iterator __i2, _InputIterator __k1,
_InputIterator __k2, __false_type)
_InputIterator __k2, std::__false_type)
{
const __versa_string __s(__k1, __k2);
const size_type __n1 = __i2 - __i1;

View File

@ -41,7 +41,7 @@
* purpose. It is provided "as is" without express or implied warranty.
*/
/** @file bitset
/** @file
* This is a Standard C++ Library header.
*/

View File

@ -53,7 +53,7 @@
* purpose. It is provided "as is" without express or implied warranty.
*/
/** @file deque
/** @file
* This is a Standard C++ Library header.
*/

View File

@ -53,7 +53,7 @@
* purpose. It is provided "as is" without express or implied warranty.
*/
/** @file iterator
/** @file
* This is a Standard C++ Library header.
*/

View File

@ -53,7 +53,7 @@
* purpose. It is provided "as is" without express or implied warranty.
*/
/** @file list
/** @file
* This is a Standard C++ Library header.
*/

View File

@ -53,7 +53,7 @@
* purpose. It is provided "as is" without express or implied warranty.
*/
/** @file map
/** @file
* This is a Standard C++ Library header.
*/

View File

@ -53,7 +53,7 @@
* purpose. It is provided "as is" without express or implied warranty.
*/
/** @file queue
/** @file
* This is a Standard C++ Library header.
*/

View File

@ -53,7 +53,7 @@
* purpose. It is provided "as is" without express or implied warranty.
*/
/** @file set
/** @file
* This is a Standard C++ Library header.
*/

View File

@ -53,7 +53,7 @@
* purpose. It is provided "as is" without express or implied warranty.
*/
/** @file stack
/** @file
* This is a Standard C++ Library header.
*/

View File

@ -32,7 +32,7 @@
// ISO C++ 14882: 21 Strings library
//
/** @file string
/** @file
* This is a Standard C++ Library header.
*/

View File

@ -53,7 +53,7 @@
* purpose. It is provided "as is" without express or implied warranty.
*/
/** @file utility
/** @file
* This is a Standard C++ Library header.
*/

View File

@ -53,7 +53,7 @@
* purpose. It is provided "as is" without express or implied warranty.
*/
/** @file vector
/** @file
* This is a Standard C++ Library header.
*/

View File

@ -1090,6 +1090,10 @@ _GLIBCXX_BEGIN_NAMESPACE(tr1)
__x.swap(__y);
}
_GLIBCXX_END_NAMESPACE
}
#define _GLIBCXX_JOIN(X,Y) _GLIBCXX_JOIN2( X , Y )
#define _GLIBCXX_JOIN2(X,Y) _GLIBCXX_JOIN3(X,Y)
#define _GLIBCXX_JOIN3(X,Y) X##Y
@ -1100,6 +1104,11 @@ _GLIBCXX_BEGIN_NAMESPACE(tr1)
#undef _GLIBCXX_JOIN2
#undef _GLIBCXX_JOIN
namespace std
{
_GLIBCXX_BEGIN_NAMESPACE(tr1)
// Definition of default hash function std::tr1::hash<>. The types for
// which std::tr1::hash<T> is defined is in clause 6.3.3. of the PDTR.
template<typename T>

View File

@ -33,6 +33,10 @@
* You should not attempt to use it directly.
*/
namespace std
{
_GLIBCXX_BEGIN_NAMESPACE(tr1)
template<typename _Res _GLIBCXX_COMMA _GLIBCXX_TEMPLATE_PARAMS>
struct _Weak_result_type_impl<_Res(_GLIBCXX_TEMPLATE_ARGS)>
{
@ -914,3 +918,5 @@ template<typename _Functor>
}
}
_GLIBCXX_END_NAMESPACE
}

View File

@ -27,6 +27,11 @@
// invalidate any other reasons why the executable file might be covered by
// the GNU General Public License.
/**
* @file
* This is a TR1 C++ Library header.
*/
#ifndef _TR1_MEMORY
#define _TR1_MEMORY 1

View File

@ -36,6 +36,8 @@
// Determine the result type when we pass the arguments along. This
// involves passing along the cv-qualifiers placed on _Mu and
// unwrapping the argument bundle.
// @namespace std::tr1
// @class std::tr1::_Mu::result
template<typename _CVMu, typename _CVArg
_GLIBCXX_COMMA _GLIBCXX_TEMPLATE_PARAMS>
class result<_CVMu(_CVArg, tuple<_GLIBCXX_TEMPLATE_ARGS>)>
@ -48,4 +50,3 @@ operator()(_CVArg& __arg, const tuple<_GLIBCXX_TEMPLATE_ARGS>& __tuple)
{
return __arg(_GLIBCXX_MU_GET_TUPLE_ARGS);
}

View File

@ -27,14 +27,14 @@
// invalidate any other reasons why the executable file might be covered by
// the GNU General Public License.
#ifndef _TR1_RANDOM
#define _TR1_RANDOM 1
/**
* @file
* This is a TR1 C++ Library header.
*/
#ifndef _TR1_RANDOM
#define _TR1_RANDOM 1
#include <algorithm>
#include <bits/concept_check.h>
#include <cmath>

View File

@ -27,6 +27,10 @@
// invalidate any other reasons why the executable file might be covered by
// the GNU General Public License.
/** @file
* This is a TR1 C++ Library header.
*/
namespace std
{
_GLIBCXX_BEGIN_NAMESPACE(tr1)

View File

@ -145,6 +145,9 @@ _GLIBCXX_BEGIN_NAMESPACE(tr1)
swallow_assign ignore;
}; // anonymous namespace
_GLIBCXX_END_NAMESPACE
}
#define _GLIBCXX_CAT(x,y) _GLIBCXX_CAT2(x,y)
#define _GLIBCXX_CAT2(x,y) x##y
#define _SHORT_REPEAT
@ -153,9 +156,6 @@ _GLIBCXX_BEGIN_NAMESPACE(tr1)
#undef _GLIBCXX_REPEAT_HEADER
#undef _SHORT_REPEAT
_GLIBCXX_END_NAMESPACE
}
#include <tr1/functional>
#endif

View File

@ -26,6 +26,12 @@
// the GNU General Public License. This exception does not however
// invalidate any other reasons why the executable file might be covered by
// the GNU General Public License.
/** @file tuple_defs.h
* This is an internal header file, included by other library headers.
* You should not attempt to use it directly.
*/
#ifndef _GLIBCXX_REPEAT_HEADER
# define _GLIBCXX_REPEAT_HEADER "tuple_defs.h"
# include "repeat.h"

View File

@ -34,6 +34,10 @@
// Chris Jefferson <chris@bubblescope.net>
namespace std
{
_GLIBCXX_BEGIN_NAMESPACE(tr1)
/// @brief class tuple_size
template<_GLIBCXX_TEMPLATE_PARAMS>
struct tuple_size<tuple<_GLIBCXX_TEMPLATE_ARGS> >
@ -164,3 +168,5 @@ template<_GLIBCXX_TEMPLATE_PARAMS>
{ return make_tuple(_GLIBCXX_REF_WRAP_PARAMS); }
#endif
_GLIBCXX_END_NAMESPACE
}

View File

@ -30,8 +30,7 @@
// the GNU General Public License.
/** @file exception
* This header defines several types and functions relating to the
* handling of exceptions in a C++ program.
* This is a Standard C++ Library header.
*/
#ifndef __EXCEPTION__

View File

@ -31,6 +31,10 @@
// ISO C++ 14882: 19.1 Exception classes
//
/** @file exception_defines.h
* This is a Standard C++ Library header.
*/
#ifndef _EXCEPTION_DEFINES_H
#define _EXCEPTION_DEFINES_H 1

View File

@ -30,6 +30,8 @@
// the GNU General Public License.
/** @file new
* This is a Standard C++ Library header.
*
* The header @c new defines several functions to manage dynamic memory and
* handling memory allocation errors; see
* http://gcc.gnu.org/onlinedocs/libstdc++/18_support/howto.html#4 for more.

View File

@ -29,7 +29,7 @@
// the GNU General Public License.
/** @file typeinfo
* This header provides RTTI support.
* This is a Standard C++ Library header.
*/
#ifndef _TYPEINFO

View File

@ -31,7 +31,7 @@
_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
namespace __balloc
namespace __detail
{
template class __mini_vector<
std::pair<bitmap_allocator<char>::_Alloc_block*,
@ -55,7 +55,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
__mutex_type& __bfl_mutex = _M_get_mutex();
#endif
const vector_type& __free_list = _M_get_free_list();
using __gnu_cxx::__balloc::__lower_bound;
using __gnu_cxx::__detail::__lower_bound;
iterator __tmp = __lower_bound(__free_list.begin(), __free_list.end(),
__sz, _LT_pointer_compare());

View File

@ -36,5 +36,5 @@ int main()
}
// { dg-error "instantiated from" "" { target *-*-* } 29 }
// { dg-error "no type" "" { target *-*-* } 72 }
// { dg-error "no type" "" { target *-*-* } 76 }
// { dg-excess-errors "In instantiation of" }

View File

@ -37,4 +37,4 @@ int main()
}
// { dg-error "invalid use of incomplete" "" { target *-*-* } 29 }
// { dg-error "declaration of" "" { target *-*-* } 67 }
// { dg-error "declaration of" "" { target *-*-* } 71 }

View File

@ -36,5 +36,5 @@ int main()
}
// { dg-error "instantiated from" "" { target *-*-* } 29 }
// { dg-error "no type" "" { target *-*-* } 115 }
// { dg-error "no type" "" { target *-*-* } 119 }
// { dg-excess-errors "In instantiation of" }

View File

@ -37,4 +37,4 @@ int main()
}
// { dg-error "invalid use of incomplete" "" { target *-*-* } 29 }
// { dg-error "declaration of" "" { target *-*-* } 110 }
// { dg-error "declaration of" "" { target *-*-* } 114 }