run_doxygen: Remove html_output_dir.

2008-03-25  Benjamin Kosnik  <bkoz@redhat.com>

	* scripts/run_doxygen: Remove html_output_dir. Downgrade to
	Doxygen 1.5.1.
	* doc/doxygen/style.css: Delete.
	* doc/doxygen/user.cfg.in: Regenerate with Doxygen 1.5.1.
	(INPUT): Update.
	(PREDEFINED): Update.
	(HTML_OUTPUT): Remove html_output_dir, use html.
	(HTML_STYLESHEET): Remove style.css.
	* doc/doxygen/tables.html: Remove style.css use.
	* doc/doxygen/mainpage.html: Nested lists for Namespaces and Classes.
	* doc/doxygen/doxygroups.cc: Namespace edits.
	* doc/doxygen/Intro.3: Correct typo.

	* doc/xml/api.xml: Add gcc-4.3 links.
	* doc/html/api.html: Regenerate.	
	
	* include/debug/debug.h: Document namepaces here.
	* include/parallel/base.h: Same.
	* include/ext/typelist.h: Same.
	* include/ext/pb_ds/tag_and_trait.hpp: Same.
	
	* include/tr1_impl/random: Adjust line break.
	* include/tr1_impl/unordered_map: Correct and or add markup.
	* include/tr1_impl/boost_shared_ptr.h: Correct and or add markup.
	* include/tr1_impl/functional_hash.h: Same.
	* include/tr1_impl/cmath: Same.
	* include/tr1_impl/functional: Same.
	* include/tr1_impl/unordered_set: Same.
	* include/tr1_impl/complex: Same.
	* include/tr1_impl/type_traits: Same.
	* include/tr1_impl/regex: Same.
	* include/tr1_impl/array: Same.
	* include/std/tuple: Same.
	* include/std/date_time: Same.
	* include/std/system_error: Same.
	* include/std/type_traits: Same.
	* include/ext/enc_filebuf.h: Same.
	* include/ext/throw_allocator.h: Same.
	* include/ext/pool_allocator.h: Same.
	* include/ext/bitmap_allocator.h: Same.
	* include/ext/concurrence.h: Same.
	* include/ext/codecvt_specializations.h: Same.
	* include/ext/stdio_sync_filebuf.h: Same.
	* include/ext/array_allocator.h: Same.
	* include/ext/mt_allocator.h: Same.
	* include/bits/locale_classes.h: Same.
	* include/bits/locale_facets.h: Same.
	* include/bits/codecvt.h: Same.
	* include/bits/char_traits.h: Same.
	* include/bits/allocator.h: Same.
	* include/bits/locale_facets_nonio.h: Same.
	* include/tr1/poly_laguerre.tcc: Same.
	* include/tr1/riemann_zeta.tcc: Same.
	* include/tr1/beta_function.tcc: Same.
	* include/tr1/tuple: Same.
	* include/tr1/exp_integral.tcc: Same.
	* include/tr1/gamma.tcc: Same.
	* include/tr1/hypergeometric.tcc: Same.
	* include/tr1/modified_bessel_func.tcc: Same.
	* include/tr1/legendre_function.tcc: Same.
	* include/tr1/type_traits: Same.
	* include/tr1/special_function_util.h: Same.
	* include/tr1/bessel_function.tcc: Same.
	* include/tr1/cmath: Same.
	* include/tr1/poly_hermite.tcc: Same.
	* include/tr1/ell_integral.tcc: Same.
	* config/abi/compatibility.h: Adjust file name.

	* testsuite/19_diagnostics/error_category/cons/copy_neg.cc: Adjust
	line numbers.	
	* testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Same.
	* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: Same.

From-SVN: r133544
This commit is contained in:
Benjamin Kosnik 2008-03-26 06:27:35 +00:00 committed by Benjamin Kosnik
parent a0a5f30f8e
commit 939759fcc9
63 changed files with 512 additions and 563 deletions

View File

@ -1,3 +1,78 @@
2008-03-25 Benjamin Kosnik <bkoz@redhat.com>
* scripts/run_doxygen: Remove html_output_dir. Downgrade to
Doxygen 1.5.1.
* doc/doxygen/style.css: Delete.
* doc/doxygen/user.cfg.in: Regenerate with Doxygen 1.5.1.
(INPUT): Update.
(PREDEFINED): Update.
(HTML_OUTPUT): Remove html_output_dir, use html.
(HTML_STYLESHEET): Remove style.css.
* doc/doxygen/tables.html: Remove style.css use.
* doc/doxygen/mainpage.html: Nested lists for Namespaces and Classes.
* doc/doxygen/doxygroups.cc: Namespace edits.
* doc/doxygen/Intro.3: Correct typo.
* doc/xml/api.xml: Add gcc-4.3 links.
* doc/html/api.html: Regenerate.
* include/debug/debug.h: Document namepaces here.
* include/parallel/base.h: Same.
* include/ext/typelist.h: Same.
* include/ext/pb_ds/tag_and_trait.hpp: Same.
* include/tr1_impl/random: Adjust line break.
* include/tr1_impl/unordered_map: Correct and or add markup.
* include/tr1_impl/boost_shared_ptr.h: Correct and or add markup.
* include/tr1_impl/functional_hash.h: Same.
* include/tr1_impl/cmath: Same.
* include/tr1_impl/functional: Same.
* include/tr1_impl/unordered_set: Same.
* include/tr1_impl/complex: Same.
* include/tr1_impl/type_traits: Same.
* include/tr1_impl/regex: Same.
* include/tr1_impl/array: Same.
* include/std/tuple: Same.
* include/std/date_time: Same.
* include/std/system_error: Same.
* include/std/type_traits: Same.
* include/ext/enc_filebuf.h: Same.
* include/ext/throw_allocator.h: Same.
* include/ext/pool_allocator.h: Same.
* include/ext/bitmap_allocator.h: Same.
* include/ext/concurrence.h: Same.
* include/ext/codecvt_specializations.h: Same.
* include/ext/stdio_sync_filebuf.h: Same.
* include/ext/array_allocator.h: Same.
* include/ext/mt_allocator.h: Same.
* include/bits/locale_classes.h: Same.
* include/bits/locale_facets.h: Same.
* include/bits/codecvt.h: Same.
* include/bits/char_traits.h: Same.
* include/bits/allocator.h: Same.
* include/bits/locale_facets_nonio.h: Same.
* include/tr1/poly_laguerre.tcc: Same.
* include/tr1/riemann_zeta.tcc: Same.
* include/tr1/beta_function.tcc: Same.
* include/tr1/tuple: Same.
* include/tr1/exp_integral.tcc: Same.
* include/tr1/gamma.tcc: Same.
* include/tr1/hypergeometric.tcc: Same.
* include/tr1/modified_bessel_func.tcc: Same.
* include/tr1/legendre_function.tcc: Same.
* include/tr1/type_traits: Same.
* include/tr1/special_function_util.h: Same.
* include/tr1/bessel_function.tcc: Same.
* include/tr1/cmath: Same.
* include/tr1/poly_hermite.tcc: Same.
* include/tr1/ell_integral.tcc: Same.
* config/abi/compatibility.h: Adjust file name.
* testsuite/19_diagnostics/error_category/cons/copy_neg.cc: Adjust
line numbers.
* testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Same.
* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: Same.
2008-03-23 Paolo Carlini <pcarlini@suse.de>
* doc/xml/faq.xml: Fix various links.

View File

@ -28,7 +28,7 @@
// invalidate any other reasons why the executable file might be covered by
// the GNU General Public License.
/** @file compatibility.h
/** @file bits/compatibility.h
* This is an internal header file, included by other library sources.
* You should not attempt to use it directly.
*/

View File

@ -1,5 +1,5 @@
.\" t
.\" This man page is released under the FDL as part of libstdc++.
.\" This man page is released under the GPL 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++ man pages

View File

@ -1,5 +1,5 @@
/*
Copyright (C) 2001, 2002, 2005 Free Software Foundation, Inc.
Copyright (C) 2001, 2002, 2005, 2008 Free Software Foundation, Inc.
See license.html for license.
This just provides documentation for stuff that doesn't need to be in the
@ -17,36 +17,34 @@
// // // // // // // // // // // // // // // // // // // // // // // //
/** @namespace std
* @brief Everything defined by the ISO C++ Standard is within
* namespace <a class="el" href="namespacestd.html">std</a>.
* @brief ISO C++ entities toplevel namespace is std.
*/
/** @namespace std::__detail
* @brief Implementation details not part of the namespace <a class="el"
* href="namespacestd.html">std</a> interface.
* @brief Implementation details not part of the namespace std interface.
*/
/** @namespace std::tr1
* @brief Everything defined by the ISO C++ TR1 is within namespace std::tr1.
* @brief ISO C++ TR1 entities toplevel namespace is std::tr1.
*/
/** @namespace std::tr1::__detail
* @brief Implementation details not part of the namespace std::tr1 interface.
*/
/** @namespace std::regex_constants
* @brief ISO C++ 0x entities sub namespace for regex.
*/
/** @namespace std::placeholders
* @brief ISO C++ 0x entities sub namespace for functional.
*/
/** @namespace __gnu_cxx
* @brief GNU extensions for public use.
*/
/** @namespace __gnu_cxx::__detail
* @brief Implementation details not part of the namespace __gnu_cxx
* @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 or
* export. Used only when anonymous namespaces cannot be substituted.
*/
/** @namespace __gnu_debug
* @brief GNU debug classes for public use.
*/
// // // // // // // // // // // // // // // // // // // // // // // //
/** @addtogroup SGIextensions STL extensions from SGI
Because libstdc++ based its implementation of the STL subsections of

View File

@ -2,7 +2,6 @@
<html>
<head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>libstdc++ Source: Main Index</title>
<link href="style.css" rel="stylesheet" type="text/css">
</head>
<body bgcolor="#ffffff">
@ -39,14 +38,25 @@
<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="files.html">Source File List</a>
<li><a href="todo.html">TODO List</a> (This is incomplete... how ironic.)
<li><a href="modules.html">Modules</a></li>
<li>Namespaces
<ul>
<li><a href="namespaces.html">List</a></li>
<li><a href="namespacemembers.html">Members</a></li>
</ul>
</li>
<li>Classes
<ul>
<li><a href="classes.html">List</a></li>
<li><a href="hierarchy.html">Hierarchy</a></li>
<li><a href="functions.html">Members</a></li>
</ul>
</li>
<li><a href="files.html">Source Files</a></li>
<li><a href="todo.html">TODO List</a></li>
</ul>
</p>

View File

@ -1,74 +0,0 @@
BODY {
background: white;
font-size: small;
}
H1 { text-align: center; font-size: large }
H2 { text-align: left; font-size: medium; }
H3 { text-align: left; font-size: small; }
CODE { font-size: small; }
CAPTION { font-weight: normal }
A.qindex {}
A.qindexRef {}
A.el { text-decoration: none; font-size: small; font-weight: normal }
A.elRef { text-decoration: none; font-size: small; font-weight: normal }
A.code { text-decoration: none; font-weight: normal; color: #4444ee }
A.codeRef { font-weight: normal; color: #4444ee }
A:hover { text-decoration: none; background-color: #f2f2ff }
DL.el { margin-left: -1cm }
DIV.fragment { width: 100%; border: none; background-color: #eeeeee }
DIV.ah {
background-color: black;
font-weight: normal;
color: #ffffff;
margin-bottom: 3px;
margin-top: 3px
}
DIV.groupHeader {
margin-left: 16px;
margin-top: 12px;
margin-bottom: 6px;
font-weight: normal
}
DIV.groupText { margin-left: 16px; font-style: italic; font-size: small }
TD.md { background-color: #f2f2ff; font-size: small; }
TD.mdname1 { background-color: #f2f2ff; font-size: small; color: #602020; }
TD.mdname {
background-color: #f2f2ff;
font-weight: normal;
font-size: small;
color: #602020;
width: 600px
}
TD.indexkey {
background-color: #eeeeff;
font-weight: normal;
font-size: small;
padding-right : 10px;
padding-top : 2px;
padding-left : 10px;
padding-bottom : 2px;
margin-left : 0px;
margin-right : 0px;
margin-top : 2px;
margin-bottom : 2px
}
TD.indexvalue {
background-color: #eeeeff;
font-style: italic;
font-size: small;
padding-right : 10px;
padding-top : 2px;
padding-left : 10px;
padding-bottom : 2px;
margin-left : 0px;
margin-right : 0px;
margin-top : 2px;
margin-bottom : 2px
}
span.keyword { color: #008000 }
span.keywordtype { color: #604020 }
span.keywordflow { color: #e08000 }
span.comment { color: #800000 }
span.preprocessor { color: #806020 }
span.stringliteral { color: #002080 }
span.charliteral { color: #008080 }

View File

@ -2,7 +2,6 @@
<html>
<head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>Tables</title>
<link href="style.css" rel="stylesheet" type="text/css">
</head>
<body bgcolor="#ffffff">

View File

@ -1,4 +1,4 @@
# Doxyfile 1.5.4
# Doxyfile 1.5.1
# This file describes the settings to be used by the documentation system
# doxygen (www.doxygen.org) for a project
@ -14,15 +14,6 @@
# Project related configuration options
#---------------------------------------------------------------------------
# This tag specifies the encoding used for all characters in the
# config file that follow. The default is UTF-8 which is also the
# encoding used for all text before the first occurrence of this
# tag. Doxygen uses libiconv (or the iconv built into libc) for the
# transcoding. See http://www.gnu.org/software/libiconv for the list
# of possible encodings.
DOXYFILE_ENCODING = UTF-8
# The PROJECT_NAME tag is a single word (or a sequence of words surrounded
# by quotes) that should identify the project.
@ -62,6 +53,16 @@ CREATE_SUBDIRS = NO
OUTPUT_LANGUAGE = English
# This tag can be used to specify the encoding used in the generated output.
# The encoding is not always determined by the language that is chosen,
# but also whether or not the output is meant for Windows or non-Windows users.
# In case there is a difference, setting the USE_WINDOWS_ENCODING tag to YES
# forces the Windows encoding (this is the default for the Windows binary),
# whereas setting the tag to NO uses a Unix-style encoding (the default for
# all platforms other than Windows).
USE_WINDOWS_ENCODING = NO
# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will
# include brief member descriptions after the members that are listed in
# the file and class documentation (similar to JavaDoc).
@ -69,11 +70,10 @@ OUTPUT_LANGUAGE = English
BRIEF_MEMBER_DESC = NO
# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will
# prepend the brief description of a member or function before the
# detailed description. Note: if both HIDE_UNDOC_MEMBERS and
# BRIEF_MEMBER_DESC are set to NO, the brief descriptions will be
# completely suppressed.
# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend
# the brief description of a member or function before the detailed description.
# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the
# brief descriptions will be completely suppressed.
REPEAT_BRIEF = YES
@ -135,19 +135,11 @@ SHORT_NAMES = YES
# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen
# will interpret the first line (until the first dot) of a JavaDoc-style
# comment as the brief description. If set to NO, the JavaDoc
# comments will behave just like regular Qt-style comments
# (thus requiring an explicit @brief command for a brief description.)
# comments will behave just like the Qt-style comments (thus requiring an
# explicit @brief command for a brief description.
JAVADOC_AUTOBRIEF = NO
# If the QT_AUTOBRIEF tag is set to YES then Doxygen will
# interpret the first line (until the first dot) of a Qt-style
# comment as the brief description. If set to NO, the comments
# will behave just like regular Qt-style comments (thus requiring
# an explicit \brief command for a brief description.)
QT_AUTOBRIEF = NO
# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen
# treat a multi-line C++ special comment block (i.e. a block of //! or ///
# comments) as a brief description. This used to be the default behaviour.
@ -213,18 +205,6 @@ OPTIMIZE_OUTPUT_JAVA = NO
BUILTIN_STL_SUPPORT = NO
# If you use Microsoft's C++/CLI language, you should set this option to YES to
# enable parsing support.
CPP_CLI_SUPPORT = NO
# Set the SIP_SUPPORT tag to YES if your project consists of sip
# sources only. Doxygen will parse them like normal C++ but will
# assume all classes use public instead of private inheritance when no
# explicit protection keyword is present.
SIP_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
@ -240,16 +220,6 @@ DISTRIBUTE_GROUP_DOC = YES
SUBGROUPING = YES
# When TYPEDEF_HIDES_STRUCT is enabled, a typedef of a struct (or union) is
# documented as struct with the name of the typedef. So
# typedef struct TypeS {} TypeT, will appear in the documentation as a struct
# with name TypeT. When disabled the typedef will appear as a member of a file,
# namespace, or class. And the struct will be named TypeS. This can typically
# be useful for C code where the coding convention is that all structs are
# typedef'ed and only the typedef is referenced never the struct's name.
TYPEDEF_HIDES_STRUCT = NO
#---------------------------------------------------------------------------
# Build related configuration options
#---------------------------------------------------------------------------
@ -284,14 +254,6 @@ EXTRACT_LOCAL_CLASSES = YES
EXTRACT_LOCAL_METHODS = YES
# If this flag is set to YES, the members of anonymous namespaces will
# be extracted and appear in the documentation as a namespace called
# 'anonymous_namespace{file}', where file will be replaced with the
# base name of the file that contains the anonymous namespace. By
# default anonymous namespace are hidden.
EXTRACT_ANON_NSPACES = NO
# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all
# undocumented members of documented classes, files or namespaces.
# If set to NO (the default) these members will be included in the
@ -422,20 +384,19 @@ MAX_INITIALIZER_LINES = 0
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 NO.
# 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 NO.
SHOW_DIRECTORIES = YES
# The FILE_VERSION_FILTER tag can be used to specify a program or
# script that doxygen should invoke to get the current version for
# each file (typically from the version control system). Doxygen will
# 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 program writes to standard
# output is used as the file version. See the manual for examples.
# The FILE_VERSION_FILTER tag can be used to specify a program or script that
# doxygen should invoke to get the current version for each file (typically from the
# version control system). Doxygen will 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 program writes to standard output
# is used as the file version. See the manual for examples.
FILE_VERSION_FILTER =
@ -494,53 +455,20 @@ WARN_LOGFILE =
# configuration options related to the input files
#---------------------------------------------------------------------------
# The INPUT tag can be used to specify the files and/or directories
# that contain documented source files. You may enter file names like
# "myfile.cpp" or directories like "/usr/src/myproject". Separate the
# files or directories with spaces.
# The INPUT tag can be used to specify the files and/or directories that contain
# documented source files. You may enter file names like "myfile.cpp" or
# directories like "/usr/src/myproject". Separate the files or directories
# with spaces.
INPUT = @srcdir@/doc/doxygen/doxygroups.cc \
@srcdir@/include/precompiled/stdc++.h \
@srcdir@/include/precompiled/stdtr1c++.h \
@srcdir@/include/precompiled/extc++.h \
@srcdir@/libsupc++/cxxabi.h \
INPUT = @srcdir@/libsupc++/cxxabi.h \
@srcdir@/libsupc++/cxxabi-forced.h \
@srcdir@/libsupc++/exception \
@srcdir@/libsupc++/new \
@srcdir@/libsupc++/typeinfo \
include/@host_alias@/bits \
include/bits \
include/debug \
include/parallel \
include/ext \
include/tr1 \
include/tr1_impl \
include/algorithm \
include/array \
include/bitset \
include/cassert \
include/ccomplex \
include/cctype \
include/cerrno \
include/cfenv \
include/cfloat \
include/cinttypes \
include/ciso646 \
include/climits \
include/clocale \
include/cmath \
include/csetjmp \
include/csignal \
include/cstdarg \
include/cstdbool \
include/cstddef \
include/cstdint \
include/cstdio \
include/cstdlib \
include/cstring \
include/ctgmath \
include/ctime \
include/cwchar \
include/cwctype \
include/date_time \
include/deque \
include/fstream \
include/functional \
@ -574,14 +502,41 @@ INPUT = @srcdir@/doc/doxygen/doxygroups.cc \
include/utility \
include/valarray \
include/vector \
include/cassert \
include/ccomplex \
include/cctype \
include/cerrno \
include/cfenv \
include/cfloat \
include/cinttypes \
include/ciso646 \
include/climits \
include/clocale \
include/cmath \
include/csetjmp \
include/csignal \
include/cstdarg \
include/cstdbool \
include/cstddef \
include/cstdint \
include/cstdio \
include/cstdlib \
include/cstring \
include/ctgmath \
include/ctime \
include/cwchar \
include/cwctype \
include/backward/hash_map \
include/backward/hash_set \
include/backward/strstream \
include/debug/bitset \
include/debug/deque \
include/debug/list \
include/debug/map \
include/debug/set \
include/debug/string \
include/debug/unordered_map \
include/debug/unordered_set \
include/debug/vector \
include/ext/algorithm \
include/ext/functional \
@ -591,8 +546,6 @@ INPUT = @srcdir@/doc/doxygen/doxygroups.cc \
include/ext/rb_tree \
include/ext/rope \
include/ext/slist \
include/ext/pb_ds \
include/ext/pb_ds/detail \
include/parallel/algorithm \
include/parallel/numeric \
include/tr1/array \
@ -614,7 +567,6 @@ INPUT = @srcdir@/doc/doxygen/doxygroups.cc \
include/tr1/cwchar \
include/tr1/cwctype \
include/tr1/functional \
include/tr1/hashtable.h \
include/tr1/memory \
include/tr1/random \
include/tr1/regex \
@ -622,7 +574,6 @@ INPUT = @srcdir@/doc/doxygen/doxygroups.cc \
include/tr1/type_traits \
include/tr1/unordered_map \
include/tr1/unordered_set \
include/tr1_impl/utility \
include/tr1_impl/array \
include/tr1_impl/cctype \
include/tr1_impl/cfenv \
@ -638,27 +589,28 @@ INPUT = @srcdir@/doc/doxygen/doxygroups.cc \
include/tr1_impl/hashtable \
include/tr1_impl/random \
include/tr1_impl/regex \
include/tr1_impl/tuple \
include/tr1_impl/type_traits \
include/tr1_impl/unordered_map \
include/tr1_impl/unordered_set \
include/tr1_impl/utility
# This tag can be used to specify the character encoding of the source
# files that doxygen parses. Internally doxygen uses the UTF-8
# encoding, which is also the default input encoding. Doxygen uses
# libiconv (or the iconv built into libc) for the transcoding. See
# http://www.gnu.org/software/libiconv for the list of possible
# encodings.
INPUT_ENCODING = UTF-8
include/tr1_impl/utility \
include/@host_alias@/bits \
include/backward \
include/bits \
include/debug \
include/parallel \
include/tr1 \
include/tr1_impl \
include/ext \
include/ext/pb_ds \
include/ext/pb_ds/detail \
@srcdir@/doc/doxygen/doxygroups.cc
# If the value of the INPUT tag contains directories, you can use the
# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
# and *.h) to filter out the source-files in the directories. If left
# blank 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 *.py *.f90
# *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.py
FILE_PATTERNS = *.h \
*.hpp \
@ -694,14 +646,6 @@ EXCLUDE_PATTERNS = stamp-* \
*extc++.h* \
*/.svn/*
# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol
# names (namespaces, classes, functions, etc.) that should be excluded
# from the output. The symbol name can be a fully qualified name, a
# word, or if the wildcard * is used, a substring. Examples:
# ANamespace, AClass, AClass::ANamespace, ANamespace::*Test
EXCLUDE_SYMBOLS =
# The EXAMPLE_PATH tag can be used to specify one or more files or
# directories that contain example code fragments that are included (see
# the \include command).
@ -757,13 +701,10 @@ FILTER_SOURCE_FILES = NO
# configuration options related to source browsing
#---------------------------------------------------------------------------
# If the SOURCE_BROWSER tag is set to YES then a list of source files
# will be generated. Documented entities will be cross-referenced with
# these sources. Note: To get rid of all source code in the generated
# output, make sure also VERBATIM_HEADERS is set to NO. If you have
# enabled CALL_GRAPH or CALLER_GRAPH then you must also enable this
# option. If you don't then doxygen will produce a warning and turn it
# on anyway
# If the SOURCE_BROWSER tag is set to YES then a list of source files will
# be generated. Documented entities will be cross-referenced with these sources.
# Note: To get rid of all source code in the generated output, make sure also
# VERBATIM_HEADERS is set to NO.
SOURCE_BROWSER = YES
@ -847,7 +788,7 @@ GENERATE_HTML = @do_html@
# If a relative path is entered the value of OUTPUT_DIRECTORY will be
# put in front of it. If left blank `html' will be used as the default path.
HTML_OUTPUT = @html_output_dir@
HTML_OUTPUT = html
# The HTML_FILE_EXTENSION tag can be used to specify the file extension for
# each generated HTML page (for example: .htm,.php,.asp). If it is left blank
@ -874,7 +815,7 @@ HTML_FOOTER =
# the style sheet file to the HTML output directory, so don't put your own
# stylesheet in the HTML output directory as well, or it will be erased!
HTML_STYLESHEET = @srcdir@/doc/doxygen/style.css
HTML_STYLESHEET =
# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes,
# files or namespaces will be aligned in HTML using tables. If set to
@ -889,14 +830,6 @@ HTML_ALIGN_MEMBERS = NO
GENERATE_HTMLHELP = NO
# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML
# documentation will contain sections that can be hidden and shown after the
# page has loaded. For this to work a browser that supports
# JavaScript and DHTML is required (for instance Mozilla 1.0+, Firefox
# Netscape 6.0+, Internet explorer 5.0+, Konqueror, or Safari).
HTML_DYNAMIC_SECTIONS = NO
# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can
# be used to specify the file name of the resulting .chm file. You
# can add a path in front of the file if the result should not be
@ -1120,7 +1053,6 @@ XML_OUTPUT = xml
# which can be used by a validating XML parser to check the
# syntax of the XML files.
#XML_SCHEMA =
XML_SCHEMA =
# The XML_DTD tag can be used to specify an XML DTD,
@ -1128,7 +1060,6 @@ XML_SCHEMA =
# syntax of the XML files.
XML_DTD =
#XML_DTD = http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd
# If the XML_PROGRAMLISTING tag is set to YES Doxygen will
# dump the program listings (including syntax highlighting
@ -1232,13 +1163,18 @@ INCLUDE_FILE_PATTERNS =
# instead of the = operator.
PREDEFINED = __GTHREADS \
"_GLIBCXX_STD_P= " \
"_GLIBCXX_STD_D= " \
_GLIBCXX_STD=std \
_GLIBCXX_TR1=tr1 \
"_GLIBCXX_TR1= " \
"_GLIBCXX_BEGIN_NAMESPACE_TR1= " \
"_GLIBCXX_END_NAMESPACE_TR1= " \
"_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_INCLUDE_AS_CXX0X \
_GLIBCXX_DEPRECATED \
_GLIBCXX_USE_WCHAR_T \
_GLIBCXX_USE_LONG_LONG \
@ -1248,11 +1184,10 @@ PREDEFINED = __GTHREADS \
__glibcxx_class_requires3=// \
__glibcxx_class_requires4=//
# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES
# then this tag can be used to specify a list of macro names that
# should be expanded. The macro definition that is found in the
# sources will be used. Use the PREDEFINED tag if you want to use a
# different macro definition.
# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then
# this tag can be used to specify a list of macro names that should be expanded.
# The macro definition that is found in the sources will be used.
# Use the PREDEFINED tag if you want to use a different macro definition.
EXPAND_AS_DEFINED =
@ -1320,14 +1255,6 @@ PERL_PATH = /usr/bin/perl
CLASS_DIAGRAMS = YES
# You can define message sequence charts within doxygen comments using the \msc
# command. Doxygen will then run the mscgen tool (see http://www.mcternan.me.uk/mscgen/) to
# produce the chart and insert it in the documentation. The MSCGEN_PATH tag allows you to
# specify the directory where the mscgen tool resides. If left empty the tool is assumed to
# be found in the default search path.
MSCGEN_PATH =
# If set to YES, the inheritance and collaboration graphs will hide
# inheritance and usage relations if the target is undocumented
# or is not a class.
@ -1385,21 +1312,19 @@ INCLUDE_GRAPH = NO
INCLUDED_BY_GRAPH = NO
# If the CALL_GRAPH, SOURCE_BROWSER and HAVE_DOT tags are set to YES
# then doxygen will generate a call 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 call graphs for selected functions only using
# the \callgraph command.
# If the CALL_GRAPH and HAVE_DOT tags are set to YES then doxygen will
# generate a call 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 call graphs for selected
# functions only using the \callgraph command.
CALL_GRAPH = NO
# If the CALLER_GRAPH, SOURCE_BROWSER 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.
# 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
@ -1432,24 +1357,31 @@ DOT_PATH =
DOTFILE_DIRS =
# The MAX_DOT_GRAPH_MAX_NODES tag can be used to set the maximum
# number of nodes that will be shown in the graph. If the number of
# nodes in a graph becomes larger than this value, doxygen will
# truncate the graph, which is visualized by representing a node as a
# red box. Note that doxygen if the number of direct children of the
# root node in a graph is already larger than MAX_DOT_GRAPH_NOTES then
# the graph will not be shown at all. Also note that the size of a
# graph can be further restricted by MAX_DOT_GRAPH_DEPTH.
# The MAX_DOT_GRAPH_WIDTH tag can be used to set the maximum allowed width
# (in pixels) of the graphs generated by dot. If a graph becomes larger than
# this value, doxygen will try to truncate the graph, so that it fits within
# the specified constraint. Beware that most browsers cannot cope with very
# large images.
DOT_GRAPH_MAX_NODES = 50
MAX_DOT_GRAPH_WIDTH = 1024
# The MAX_DOT_GRAPH_HEIGHT tag can be used to set the maximum allows height
# (in pixels) of the graphs generated by dot. If a graph becomes larger than
# this value, doxygen will try to truncate the graph, so that it fits within
# the specified constraint. Beware that most browsers cannot cope with very
# large images.
MAX_DOT_GRAPH_HEIGHT = 1024
# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the
# graphs generated by dot. A depth value of 3 means that only nodes reachable
# from the root by following a path via at most 3 edges will be shown. Nodes
# that lay further from the root node will be omitted. Note that setting this
# option to 1 or 2 may greatly reduce the computation time needed for large
# code bases. Also note that the size of a graph can be further restricted by
# DOT_GRAPH_MAX_NODES. Using a depth of 0 means no depth restriction.
# code bases. Also note that a graph may be further truncated if the graph's
# image dimensions are not sufficient to fit the graph (see MAX_DOT_GRAPH_WIDTH
# and MAX_DOT_GRAPH_HEIGHT). If 0 is used for the depth value (the default),
# the graph is not depth-constrained.
MAX_DOT_GRAPH_DEPTH = 0

View File

@ -5,7 +5,7 @@
<a class="ulink" href="http://www.fsf.org/" target="_top">FSF
</a>
</p></div><div><div class="legalnotice"><a id="id375791"></a><p>
</p></div><div><div class="legalnotice"><a id="id478877"></a><p>
<a class="ulink" href="17_intro/license.html" target="_top">License
</a>
</p></div></div></div><hr /></div><p>
@ -28,6 +28,9 @@ viewed online:
</p></li><li><p>
<a class="ulink" href="libstdc++-html-USERS-4.2/index.html" target="_top">for the 4.2 release
</a>
</p></li><li><p>
<a class="ulink" href="libstdc++-html-USERS-4.3/index.html" target="_top">for the 4.3 release
</a>
</p></li><li><p>
<a class="ulink" href="latest-doxygen/index.html" target="_top">"the latest collection"
</a>

View File

@ -61,6 +61,12 @@ viewed online:
</ulink>
</para>
</listitem>
<listitem>
<para>
<ulink url="libstdc++-html-USERS-4.3/index.html">for the 4.3 release
</ulink>
</para>
</listitem>
<listitem>
<para>
<ulink url="latest-doxygen/index.html">&quot;the latest collection&quot;

View File

@ -1,6 +1,6 @@
// Allocators -*- C++ -*-
// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007
// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
@ -77,7 +77,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
* @brief The "standard" allocator, as per [20.4].
*
* Further details:
* http://gcc.gnu.org/onlinedocs/libstdc++/20_util/allocator.html
* http://gcc.gnu.org/onlinedocs/libstdc++/manual/bk01pt04ch11.html
*/
template<typename _Tp>
class allocator: public __glibcxx_base_allocator<_Tp>

View File

@ -231,7 +231,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
{ };
/// @brief 21.1.3.1 char_traits specializations
/// 21.1.3.1 char_traits specializations
template<>
struct char_traits<char>
{
@ -301,7 +301,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
#ifdef _GLIBCXX_USE_WCHAR_T
/// @brief 21.1.3.2 char_traits specializations
/// 21.1.3.2 char_traits specializations
template<>
struct char_traits<wchar_t>
{

View File

@ -1,6 +1,6 @@
// Locale support (codecvt) -*- C++ -*-
// Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007
// Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
@ -46,7 +46,7 @@
_GLIBCXX_BEGIN_NAMESPACE(std)
/// @brief Empty base class for codecvt facet [22.2.1.5].
/// Empty base class for codecvt facet [22.2.1.5].
class codecvt_base
{
public:
@ -330,7 +330,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
template<typename _InternT, typename _ExternT, typename _StateT>
locale::id codecvt<_InternT, _ExternT, _StateT>::id;
/// @brief class codecvt<char, char, mbstate_t> specialization.
/// class codecvt<char, char, mbstate_t> specialization.
template<>
class codecvt<char, char, mbstate_t>
: public __codecvt_abstract_base<char, char, mbstate_t>
@ -388,7 +388,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
};
#ifdef _GLIBCXX_USE_WCHAR_T
/// @brief class codecvt<wchar_t, char, mbstate_t> specialization.
/// class codecvt<wchar_t, char, mbstate_t> specialization.
template<>
class codecvt<wchar_t, char, mbstate_t>
: public __codecvt_abstract_base<wchar_t, char, mbstate_t>
@ -448,7 +448,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
};
#endif //_GLIBCXX_USE_WCHAR_T
/// @brief class codecvt_byname [22.2.1.6].
/// class codecvt_byname [22.2.1.6].
template<typename _InternT, typename _ExternT, typename _StateT>
class codecvt_byname : public codecvt<_InternT, _ExternT, _StateT>
{

View File

@ -780,7 +780,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
collate<wchar_t>::_M_transform(wchar_t*, const wchar_t*, size_t) const;
#endif
/// @brief class collate_byname [22.2.4.2].
/// class collate_byname [22.2.4.2].
template<typename _CharT>
class collate_byname : public collate<_CharT>
{

View File

@ -1511,7 +1511,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
use_facet<ctype<wchar_t> >(const locale& __loc);
#endif //_GLIBCXX_USE_WCHAR_T
/// @brief class ctype_byname [22.2.1.2].
/// class ctype_byname [22.2.1.2].
template<typename _CharT>
class ctype_byname : public ctype<_CharT>
{
@ -1912,7 +1912,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
numpunct<wchar_t>::_M_initialize_numpunct(__c_locale __cloc);
#endif
/// @brief class numpunct_byname [22.2.3.2].
/// class numpunct_byname [22.2.3.2].
template<typename _CharT>
class numpunct_byname : public numpunct<_CharT>
{

View File

@ -674,7 +674,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
template<typename _CharT, typename _InIter>
locale::id time_get<_CharT, _InIter>::id;
/// @brief class time_get_byname [22.2.5.2].
/// class time_get_byname [22.2.5.2].
template<typename _CharT, typename _InIter>
class time_get_byname : public time_get<_CharT, _InIter>
{
@ -798,7 +798,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
template<typename _CharT, typename _OutIter>
locale::id time_put<_CharT, _OutIter>::id;
/// @brief class time_put_byname [22.2.5.4].
/// class time_put_byname [22.2.5.4].
template<typename _CharT, typename _OutIter>
class time_put_byname : public time_put<_CharT, _OutIter>
{
@ -1306,7 +1306,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
const char*);
#endif
/// @brief class moneypunct_byname [22.2.6.4].
/// class moneypunct_byname [22.2.6.4].
template<typename _CharT, bool _Intl>
class moneypunct_byname : public moneypunct<_CharT, _Intl>
{
@ -1887,7 +1887,7 @@ _GLIBCXX_END_LDBL_NAMESPACE
messages<wchar_t>::do_get(catalog, int, int, const wstring&) const;
#endif
/// @brief class messages_byname [22.2.7.2].
/// class messages_byname [22.2.7.2].
template<typename _CharT>
class messages_byname : public messages<_CharT>
{

View File

@ -44,11 +44,19 @@
*/
// Debug mode namespaces.
/**
* @namespace std::__debug
* @brief GNU debug code, replaces standard behavior with debug behavior.
*/
namespace std
{
namespace __debug { }
}
/** @namespace __gnu_debug
* @brief GNU debug classes for public use.
*/
namespace __gnu_debug
{
using namespace std::__debug;

View File

@ -45,7 +45,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
using std::size_t;
using std::ptrdiff_t;
/// @brief Base class.
/// Base class.
template<typename _Tp>
class array_allocator_base
{

View File

@ -706,6 +706,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
};
};
/// Primary template
template<typename _Tp>
class bitmap_allocator : private free_list
{

View File

@ -47,7 +47,7 @@
_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
/// @brief Extension to use iconv for dealing with character encodings.
/// Extension to use iconv for dealing with character encodings.
// This includes conversions and comparisons between various character
// sets. This object encapsulates data that may need to be shared between
// char_traits, codecvt and ctype.
@ -206,7 +206,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
}
};
/// @brief encoding_char_traits.
/// encoding_char_traits
// Custom traits type with encoding_state for the state type, and the
// associated fpos<encoding_state> for the position type, all other
// bits equivalent to the required char_traits instantiations.
@ -224,7 +224,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
using __gnu_cxx::encoding_state;
/// @brief codecvt<InternT, _ExternT, encoding_state> specialization.
/// codecvt<InternT, _ExternT, encoding_state> specialization.
// This partial specialization takes advantage of iconv to provide
// code conversions between a large number of character encodings.
template<typename _InternT, typename _ExternT>

View File

@ -240,7 +240,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
{ return &_M_mutex; }
};
/// @brief Scoped lock idiom.
/// Scoped lock idiom.
// Acquire the mutex here with a constructor call, then release with
// the destructor call in accordance with RAII style.
class __scoped_lock

View File

@ -40,7 +40,7 @@
_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
/// @brief class enc_filebuf.
/// class enc_filebuf.
template<typename _CharT>
class enc_filebuf
: public std::basic_filebuf<_CharT, encoding_char_traits<_CharT> >

View File

@ -47,7 +47,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
typedef void (*__destroy_handler)(void*);
/// @brief Base class for pool object.
/// Base class for pool object.
struct __pool_base
{
// Using short int as type for the binmap implies we are never
@ -455,7 +455,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
};
#endif
/// @brief Policy for shared __pool objects.
/// Policy for shared __pool objects.
template<template <bool> class _PoolTp, bool _Thread>
struct __common_pool_policy : public __common_pool_base<_PoolTp, _Thread>
{
@ -550,7 +550,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
};
#endif
/// @brief Policy for individual __pool objects.
/// Policy for individual __pool objects.
template<typename _Tp, template <bool> class _PoolTp, bool _Thread>
struct __per_type_pool_policy
: public __per_type_pool_base<_Tp, _PoolTp, _Thread>
@ -565,7 +565,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
};
/// @brief Base class for _Tp dependent member functions.
/// Base class for _Tp dependent member functions.
template<typename _Tp>
class __mt_alloc_base
{
@ -621,7 +621,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
* the "global" list).
*
* Further details:
* http://gcc.gnu.org/onlinedocs/libstdc++/ext/mt_allocator.html
* http://gcc.gnu.org/onlinedocs/libstdc++/manual/bk01pt12ch32.html
*/
template<typename _Tp,
typename _Poolp = __common_pool_policy<__pool, __thread_default> >

View File

@ -52,9 +52,8 @@
/**
* @namespace __gnu_pbds
* @brief GNU extension policy-based data structures for public use.
* @brief GNU extensions for policy-based data structures for public use.
*/
namespace __gnu_pbds
{
// A trivial iterator tag. Signifies that the iterators has none of

View File

@ -119,7 +119,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
};
/// @brief class __pool_alloc.
/// class __pool_alloc.
template<typename _Tp>
class __pool_alloc : private __pool_alloc_base
{

View File

@ -47,7 +47,7 @@
_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
/// @brief class stdio_sync_filebuf.
/// class stdio_sync_filebuf.
template<typename _CharT, typename _Traits = std::char_traits<_CharT> >
class stdio_sync_filebuf : public std::basic_streambuf<_CharT, _Traits>
{

View File

@ -80,6 +80,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
std::tr1::mt19937 _M_generator;
};
/// Thown by throw_allocator.
struct forced_exception_error : public std::exception
{ };
@ -94,6 +95,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
#endif
}
/// Base class.
class throw_allocator_base
{
public:
@ -184,7 +186,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
static size_t _S_label;
};
/// Allocator class with logging and exception control.
template<typename T>
class throw_allocator : public throw_allocator_base
{
@ -309,7 +311,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
twister_rand_gen throw_allocator_base::_S_g;
throw_allocator_base::map_type
throw_allocator_base::map_type
throw_allocator_base::_S_map;
double throw_allocator_base::_S_throw_prob;

View File

@ -50,6 +50,9 @@
_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
/** @namespace __gnu_cxx::typelist
* @brief GNU typelist extensions for public compile-time use.
*/
namespace typelist
{
struct null_type { };

View File

@ -47,6 +47,11 @@
// Parallel mode namespaces.
/**
* @namespace std::__parallel
* @brief GNU parallel code, replaces standard behavior with parallel behavior.
*/
namespace std
{
namespace __parallel { }
@ -54,7 +59,7 @@ namespace std
/**
* @namespace __gnu_parallel
* @brief GNU parallel classes for public use.
* @brief GNU parallel code for public use.
*/
namespace __gnu_parallel
{

View File

@ -45,7 +45,8 @@
namespace std
{
// duration types
/// nanoseconds
class nanoseconds
{
public:
@ -90,7 +91,7 @@ namespace std
class minutes;
class hours;
// timepoint type
/// timepoint type
class system_time
{
public:

View File

@ -53,6 +53,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
extern const error_category& system_category;
/// error_category
struct error_category
{
error_category() { }
@ -78,6 +79,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
operator=(const error_category&);
};
/// error_code
struct error_code
{
error_code() throw()
@ -133,6 +135,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
const error_category* _M_cat;
};
/// Thrown to indicate error code of underlying system.
class system_error : public std::runtime_error
{
private:

View File

@ -205,6 +205,7 @@ namespace std
}
};
/// tuple
template<typename... _Elements>
class tuple : public _Tuple_impl<0, _Elements...>
{
@ -275,9 +276,11 @@ namespace std
}
};
template<> class tuple<> { };
// 2-element tuple, with construction and assignment from a pair.
template<>
class tuple<> { };
/// tuple (2-element), with construction and assignment from a pair.
template<typename _T1, typename _T2>
class tuple<_T1, _T2> : public _Tuple_impl<0, _T1, _T2>
{
@ -393,7 +396,7 @@ namespace std
template<typename _Tp>
struct tuple_size;
/// @brief class tuple_size
/// class tuple_size
template<typename... _Elements>
struct tuple_size<tuple<_Elements...> >
{

View File

@ -1,6 +1,6 @@
// <type_traits> -*- C++ -*-
// Copyright (C) 2007 Free Software Foundation, Inc.
// Copyright (C) 2007, 2008 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
@ -63,6 +63,8 @@
namespace std
{
// Primary classification traits.
/// is_lvalue_reference
template<typename>
struct is_lvalue_reference
: public false_type { };
@ -71,6 +73,7 @@ namespace std
struct is_lvalue_reference<_Tp&>
: public true_type { };
/// is_rvalue_reference
template<typename>
struct is_rvalue_reference
: public false_type { };
@ -80,6 +83,8 @@ namespace std
: public true_type { };
// Secondary classification traits.
/// is_reference
template<typename _Tp>
struct is_reference
: public integral_constant<bool, (is_lvalue_reference<_Tp>::value
@ -87,6 +92,8 @@ namespace std
{ };
// Reference transformations.
/// remove_reference
template<typename _Tp>
struct remove_reference
{ typedef _Tp type; };
@ -113,6 +120,7 @@ namespace std
struct __add_lvalue_reference_helper<_Tp, false, true>
{ typedef typename remove_reference<_Tp>::type& type; };
/// add_lvalue_reference
template<typename _Tp>
struct add_lvalue_reference
: public __add_lvalue_reference_helper<_Tp>
@ -127,12 +135,14 @@ namespace std
struct __add_rvalue_reference_helper<_Tp, true>
{ typedef _Tp&& type; };
/// add_rvalue_reference
template<typename _Tp>
struct add_rvalue_reference
: public __add_rvalue_reference_helper<_Tp>
{ };
// Scalar properties and transformations.
template<typename _Tp,
bool = is_integral<_Tp>::value,
bool = is_floating_point<_Tp>::value>
@ -148,11 +158,13 @@ namespace std
: public integral_constant<bool, _Tp(-1) < _Tp(0)>
{ };
/// is_signed
template<typename _Tp>
struct is_signed
: public integral_constant<bool, __is_signed_helper<_Tp>::value>
{ };
/// is_unsigned
template<typename _Tp>
struct is_unsigned
: public integral_constant<bool, (is_arithmetic<_Tp>::value
@ -160,46 +172,56 @@ namespace std
{ };
// Member introspection.
/// is_pod
template<typename _Tp>
struct is_pod
: public integral_constant<bool, __is_pod(_Tp)>
{ };
/// has_trivial_default_constructor
template<typename _Tp>
struct has_trivial_default_constructor
: public integral_constant<bool, __has_trivial_constructor(_Tp)>
{ };
/// has_trivial_copy_constructor
template<typename _Tp>
struct has_trivial_copy_constructor
: public integral_constant<bool, __has_trivial_copy(_Tp)>
{ };
/// has_trivial_assign
template<typename _Tp>
struct has_trivial_assign
: public integral_constant<bool, __has_trivial_assign(_Tp)>
{ };
/// has_trivial_destructor
template<typename _Tp>
struct has_trivial_destructor
: public integral_constant<bool, __has_trivial_destructor(_Tp)>
{ };
/// has_nothrow_default_destructor
template<typename _Tp>
struct has_nothrow_default_constructor
: public integral_constant<bool, __has_nothrow_constructor(_Tp)>
{ };
/// has_nothrow_copy_destructor
template<typename _Tp>
struct has_nothrow_copy_constructor
: public integral_constant<bool, __has_nothrow_copy(_Tp)>
{ };
/// has_nothrow_assign
template<typename _Tp>
struct has_nothrow_assign
: public integral_constant<bool, __has_nothrow_assign(_Tp)>
{ };
/// is_base_of
template<typename _Base, typename _Derived>
struct is_base_of
: public integral_constant<bool, __is_base_of(_Base, _Derived)>
@ -232,7 +254,7 @@ namespace std
template<typename _From, typename _To,
bool = (is_void<_From>::value || is_void<_To>::value
|| is_function<_To>::value || is_array<_To>::value
// This special case is here only to avoid warnings.
// This special case is here only to avoid warnings.
|| (is_floating_point<typename
remove_reference<_From>::type>::value
&& __is_int_or_cref<_To>::__value))>
@ -252,6 +274,7 @@ namespace std
// XXX FIXME
// The C++0x specifications are different, see N2255.
/// is_convertible
template<typename _From, typename _To>
struct is_convertible
: public integral_constant<bool,
@ -268,6 +291,16 @@ namespace std
};
};
/**
* @brief Alignment type.
*
* The value of _Align is a default-alignment which shall be the
* most stringent alignment requirement for any C++ object type
* whose size is no greater than _Len (3.9). The member typedef
* type shall be a POD type suitable for use as uninitialized
* storage for any object whose size is at most _Len and whose
* alignment is a divisor of _Align.
*/
template<std::size_t _Len, std::size_t _Align =
__alignof__(typename __aligned_storage_msa<_Len>::__type)>
struct aligned_storage
@ -281,21 +314,25 @@ namespace std
// Define a nested type if some predicate holds.
/// Primary template.
template<bool, typename _Tp = void>
struct enable_if
{ };
/// Partial specialization for true.
template<typename _Tp>
struct enable_if<true, _Tp>
{ typedef _Tp type; };
// Like a conditional expression, but for types. If true, first, if
// false, second.
// A conditional expression, but for types.
// If true, first, if false, second.
/// Primary template.
template<bool _Cond, typename _Iftrue, typename _Iffalse>
struct conditional
{ typedef _Iftrue type; };
/// Partial specialization for false.
template<typename _Iftrue, typename _Iffalse>
struct conditional<false, _Iftrue, _Iffalse>
{ typedef _Iffalse type; };
@ -321,6 +358,7 @@ namespace std
struct __decay_selector<_Up, false, true>
{ typedef typename add_pointer<_Up>::type __type; };
/// decay
template<typename _Tp>
struct decay
{
@ -428,9 +466,9 @@ namespace std
typedef typename conditional<__b1, __smallest, __cond_type>::type __type;
};
// Primary class template.
// Given an integral/enum type, return the corresponding unsigned
// integer type.
/// Primary template.
template<typename _Tp>
struct make_unsigned
{ typedef typename __make_unsigned_selector<_Tp>::__type type; };
@ -503,9 +541,9 @@ namespace std
typedef typename conditional<__b1, __smallest, __cond_type>::type __type;
};
// Primary class template.
// Given an integral/enum type, return the corresponding signed
// integer type.
/// Primary template.
template<typename _Tp>
struct make_signed
{ typedef typename __make_signed_selector<_Tp>::__type type; };

View File

@ -1,6 +1,6 @@
// Special functions -*- C++ -*-
// Copyright (C) 2006-2007
// Copyright (C) 2006, 2007, 2008
// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
@ -61,14 +61,7 @@ namespace tr1
// [5.2] Special functions
/**
* @ingroup tr1_math_spec_func
* @{
*/
//
// Implementation-space details.
//
namespace __detail
{
@ -633,9 +626,6 @@ namespace tr1
}
} // namespace std::tr1::__detail
/* @} */ // group tr1_math_spec_func
}
}

View File

@ -1,6 +1,6 @@
// Special functions -*- C++ -*-
// Copyright (C) 2006-2007
// Copyright (C) 2006, 2007, 2008
// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
@ -59,14 +59,7 @@ namespace tr1
// [5.2] Special functions
/**
* @ingroup tr1_math_spec_func
* @{
*/
//
// Implementation-space details.
//
namespace __detail
{
@ -203,9 +196,6 @@ namespace tr1
}
} // namespace std::tr1::__detail
/* @} */ // group tr1_math_spec_func
}
}

View File

@ -1,6 +1,6 @@
// TR1 cmath -*- C++ -*-
// Copyright (C) 2006, 2007 Free Software Foundation, Inc.
// Copyright (C) 2006, 2007, 2008 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
@ -56,15 +56,10 @@
# undef _GLIBCXX_INCLUDE_AS_TR1
#endif
/**
* @defgroup tr1_math_spec_func Mathematical Special Functions
* A collection of advanced mathematical special functions.
* @{
*/
#include <bits/stl_algobase.h>
#include <limits>
#include <tr1/type_traits>
#include <tr1/gamma.tcc>
#include <tr1/bessel_function.tcc>
#include <tr1/beta_function.tcc>
@ -77,12 +72,16 @@
#include <tr1/poly_laguerre.tcc>
#include <tr1/riemann_zeta.tcc>
// namespace std::tr1
namespace std
{
namespace tr1
{
// 5.2.1.1 Associated Laguerre polynomials.
/**
* @addtogroup tr1_math_spec_func Mathematical Special Functions
* A collection of advanced mathematical special functions.
* @{
*/
inline float
assoc_laguerref(unsigned int __n, unsigned int __m, float __x)
{ return __detail::__assoc_laguerre<float>(__n, __m, __x); }
@ -93,6 +92,7 @@ namespace tr1
return __detail::__assoc_laguerre<long double>(__n, __m, __x);
}
/// 5.2.1.1 Associated Laguerre polynomials.
template<typename _Tp>
inline typename __gnu_cxx::__promote<_Tp>::__type
assoc_laguerre(unsigned int __n, unsigned int __m, _Tp __x)
@ -101,7 +101,6 @@ namespace tr1
return __detail::__assoc_laguerre<__type>(__n, __m, __x);
}
// 5.2.1.2 Associated Legendre functions.
inline float
assoc_legendref(unsigned int __l, unsigned int __m, float __x)
{ return __detail::__assoc_legendre_p<float>(__l, __m, __x); }
@ -110,6 +109,7 @@ namespace tr1
assoc_legendrel(unsigned int __l, unsigned int __m, long double __x)
{ return __detail::__assoc_legendre_p<long double>(__l, __m, __x); }
/// 5.2.1.2 Associated Legendre functions.
template<typename _Tp>
inline typename __gnu_cxx::__promote<_Tp>::__type
assoc_legendre(unsigned int __l, unsigned int __m, _Tp __x)
@ -118,7 +118,6 @@ namespace tr1
return __detail::__assoc_legendre_p<__type>(__l, __m, __x);
}
// 5.2.1.3 Beta functions.
inline float
betaf(float __x, float __y)
{ return __detail::__beta<float>(__x, __y); }
@ -127,6 +126,7 @@ namespace tr1
betal(long double __x, long double __y)
{ return __detail::__beta<long double>(__x, __y); }
/// 5.2.1.3 Beta functions.
template<typename _Tpx, typename _Tpy>
inline typename __gnu_cxx::__promote_2<_Tpx, _Tpy>::__type
beta(_Tpx __x, _Tpy __y)
@ -135,7 +135,6 @@ namespace tr1
return __detail::__beta<__type>(__x, __y);
}
// 5.2.1.4 Complete elliptic integrals of the first kind.
inline float
comp_ellint_1f(float __k)
{ return __detail::__comp_ellint_1<float>(__k); }
@ -144,6 +143,7 @@ namespace tr1
comp_ellint_1l(long double __k)
{ return __detail::__comp_ellint_1<long double>(__k); }
/// 5.2.1.4 Complete elliptic integrals of the first kind.
template<typename _Tp>
inline typename __gnu_cxx::__promote<_Tp>::__type
comp_ellint_1(_Tp __k)
@ -152,7 +152,6 @@ namespace tr1
return __detail::__comp_ellint_1<__type>(__k);
}
// 5.2.1.5 Complete elliptic integrals of the second kind.
inline float
comp_ellint_2f(float __k)
{ return __detail::__comp_ellint_2<float>(__k); }
@ -161,6 +160,7 @@ namespace tr1
comp_ellint_2l(long double __k)
{ return __detail::__comp_ellint_2<long double>(__k); }
/// 5.2.1.5 Complete elliptic integrals of the second kind.
template<typename _Tp>
inline typename __gnu_cxx::__promote<_Tp>::__type
comp_ellint_2(_Tp __k)
@ -169,7 +169,6 @@ namespace tr1
return __detail::__comp_ellint_2<__type>(__k);
}
// 5.2.1.6 Complete elliptic integrals of the third kind.
inline float
comp_ellint_3f(float __k, float __nu)
{ return __detail::__comp_ellint_3<float>(__k, __nu); }
@ -178,6 +177,7 @@ namespace tr1
comp_ellint_3l(long double __k, long double __nu)
{ return __detail::__comp_ellint_3<long double>(__k, __nu); }
/// 5.2.1.6 Complete elliptic integrals of the third kind.
template<typename _Tp, typename _Tpn>
inline typename __gnu_cxx::__promote_2<_Tp, _Tpn>::__type
comp_ellint_3(_Tp __k, _Tpn __nu)
@ -186,7 +186,6 @@ namespace tr1
return __detail::__comp_ellint_3<__type>(__k, __nu);
}
// 5.2.1.7 Confluent hypergeometric functions.
inline float
conf_hypergf(float __a, float __c, float __x)
{ return __detail::__conf_hyperg<float>(__a, __c, __x); }
@ -195,6 +194,7 @@ namespace tr1
conf_hypergl(long double __a, long double __c, long double __x)
{ return __detail::__conf_hyperg<long double>(__a, __c, __x); }
/// 5.2.1.7 Confluent hypergeometric functions.
template<typename _Tpa, typename _Tpc, typename _Tp>
inline typename __gnu_cxx::__promote_3<_Tpa, _Tpc, _Tp>::__type
conf_hyperg(_Tpa __a, _Tpc __c, _Tp __x)
@ -203,7 +203,6 @@ namespace tr1
return __detail::__conf_hyperg<__type>(__a, __c, __x);
}
// 5.2.1.8 Regular modified cylindrical Bessel functions.
inline float
cyl_bessel_if(float __nu, float __x)
{ return __detail::__cyl_bessel_i<float>(__nu, __x); }
@ -212,6 +211,7 @@ namespace tr1
cyl_bessel_il(long double __nu, long double __x)
{ return __detail::__cyl_bessel_i<long double>(__nu, __x); }
/// 5.2.1.8 Regular modified cylindrical Bessel functions.
template<typename _Tpnu, typename _Tp>
inline typename __gnu_cxx::__promote_2<_Tpnu, _Tp>::__type
cyl_bessel_i(_Tpnu __nu, _Tp __x)
@ -220,7 +220,6 @@ namespace tr1
return __detail::__cyl_bessel_i<__type>(__nu, __x);
}
// 5.2.1.9 Cylindrical Bessel functions (of the first kind).
inline float
cyl_bessel_jf(float __nu, float __x)
{ return __detail::__cyl_bessel_j<float>(__nu, __x); }
@ -229,6 +228,7 @@ namespace tr1
cyl_bessel_jl(long double __nu, long double __x)
{ return __detail::__cyl_bessel_j<long double>(__nu, __x); }
/// 5.2.1.9 Cylindrical Bessel functions (of the first kind).
template<typename _Tpnu, typename _Tp>
inline typename __gnu_cxx::__promote_2<_Tpnu, _Tp>::__type
cyl_bessel_j(_Tpnu __nu, _Tp __x)
@ -237,7 +237,6 @@ namespace tr1
return __detail::__cyl_bessel_j<__type>(__nu, __x);
}
// 5.2.1.10 Irregular modified cylindrical Bessel functions.
inline float
cyl_bessel_kf(float __nu, float __x)
{ return __detail::__cyl_bessel_k<float>(__nu, __x); }
@ -246,6 +245,7 @@ namespace tr1
cyl_bessel_kl(long double __nu, long double __x)
{ return __detail::__cyl_bessel_k<long double>(__nu, __x); }
/// 5.2.1.10 Irregular modified cylindrical Bessel functions.
template<typename _Tpnu, typename _Tp>
inline typename __gnu_cxx::__promote_2<_Tpnu, _Tp>::__type
cyl_bessel_k(_Tpnu __nu, _Tp __x)
@ -254,7 +254,6 @@ namespace tr1
return __detail::__cyl_bessel_k<__type>(__nu, __x);
}
// 5.2.1.11 Cylindrical Neumann functions.
inline float
cyl_neumannf(float __nu, float __x)
{ return __detail::__cyl_neumann_n<float>(__nu, __x); }
@ -263,6 +262,7 @@ namespace tr1
cyl_neumannl(long double __nu, long double __x)
{ return __detail::__cyl_neumann_n<long double>(__nu, __x); }
/// 5.2.1.11 Cylindrical Neumann functions.
template<typename _Tpnu, typename _Tp>
inline typename __gnu_cxx::__promote_2<_Tpnu, _Tp>::__type
cyl_neumann(_Tpnu __nu, _Tp __x)
@ -271,7 +271,6 @@ namespace tr1
return __detail::__cyl_neumann_n<__type>(__nu, __x);
}
// 5.2.1.12 Incomplete elliptic integrals of the first kind.
inline float
ellint_1f(float __k, float __phi)
{ return __detail::__ellint_1<float>(__k, __phi); }
@ -280,6 +279,7 @@ namespace tr1
ellint_1l(long double __k, long double __phi)
{ return __detail::__ellint_1<long double>(__k, __phi); }
/// 5.2.1.12 Incomplete elliptic integrals of the first kind.
template<typename _Tp, typename _Tpp>
inline typename __gnu_cxx::__promote_2<_Tp, _Tpp>::__type
ellint_1(_Tp __k, _Tpp __phi)
@ -288,7 +288,6 @@ namespace tr1
return __detail::__ellint_1<__type>(__k, __phi);
}
// 5.2.1.13 Incomplete elliptic integrals of the second kind.
inline float
ellint_2f(float __k, float __phi)
{ return __detail::__ellint_2<float>(__k, __phi); }
@ -297,6 +296,7 @@ namespace tr1
ellint_2l(long double __k, long double __phi)
{ return __detail::__ellint_2<long double>(__k, __phi); }
/// 5.2.1.13 Incomplete elliptic integrals of the second kind.
template<typename _Tp, typename _Tpp>
inline typename __gnu_cxx::__promote_2<_Tp, _Tpp>::__type
ellint_2(_Tp __k, _Tpp __phi)
@ -305,7 +305,6 @@ namespace tr1
return __detail::__ellint_2<__type>(__k, __phi);
}
// 5.2.1.14 Incomplete elliptic integrals of the third kind.
inline float
ellint_3f(float __k, float __nu, float __phi)
{ return __detail::__ellint_3<float>(__k, __nu, __phi); }
@ -314,6 +313,7 @@ namespace tr1
ellint_3l(long double __k, long double __nu, long double __phi)
{ return __detail::__ellint_3<long double>(__k, __nu, __phi); }
/// 5.2.1.14 Incomplete elliptic integrals of the third kind.
template<typename _Tp, typename _Tpn, typename _Tpp>
inline typename __gnu_cxx::__promote_3<_Tp, _Tpn, _Tpp>::__type
ellint_3(_Tp __k, _Tpn __nu, _Tpp __phi)
@ -322,7 +322,6 @@ namespace tr1
return __detail::__ellint_3<__type>(__k, __nu, __phi);
}
// 5.2.1.15 Exponential integrals.
inline float
expintf(float __x)
{ return __detail::__expint<float>(__x); }
@ -331,6 +330,7 @@ namespace tr1
expintl(long double __x)
{ return __detail::__expint<long double>(__x); }
/// 5.2.1.15 Exponential integrals.
template<typename _Tp>
inline typename __gnu_cxx::__promote<_Tp>::__type
expint(_Tp __x)
@ -339,7 +339,6 @@ namespace tr1
return __detail::__expint<__type>(__x);
}
// 5.2.1.16 Hermite polynomials.
inline float
hermitef(unsigned int __n, float __x)
{ return __detail::__poly_hermite<float>(__n, __x); }
@ -348,6 +347,7 @@ namespace tr1
hermitel(unsigned int __n, long double __x)
{ return __detail::__poly_hermite<long double>(__n, __x); }
/// 5.2.1.16 Hermite polynomials.
template<typename _Tp>
inline typename __gnu_cxx::__promote<_Tp>::__type
hermite(unsigned int __n, _Tp __x)
@ -356,7 +356,6 @@ namespace tr1
return __detail::__poly_hermite<__type>(__n, __x);
}
// 5.2.1.17 Hypergeometric functions.
inline float
hypergf(float __a, float __b, float __c, float __x)
{ return __detail::__hyperg<float>(__a, __b, __c, __x); }
@ -365,6 +364,7 @@ namespace tr1
hypergl(long double __a, long double __b, long double __c, long double __x)
{ return __detail::__hyperg<long double>(__a, __b, __c, __x); }
/// 5.2.1.17 Hypergeometric functions.
template<typename _Tpa, typename _Tpb, typename _Tpc, typename _Tp>
inline typename __gnu_cxx::__promote_4<_Tpa, _Tpb, _Tpc, _Tp>::__type
hyperg(_Tpa __a, _Tpb __b, _Tpc __c, _Tp __x)
@ -373,7 +373,6 @@ namespace tr1
return __detail::__hyperg<__type>(__a, __b, __c, __x);
}
// 5.2.1.18 Laguerre polynomials.
inline float
laguerref(unsigned int __n, float __x)
{ return __detail::__laguerre<float>(__n, __x); }
@ -382,6 +381,7 @@ namespace tr1
laguerrel(unsigned int __n, long double __x)
{ return __detail::__laguerre<long double>(__n, __x); }
/// 5.2.1.18 Laguerre polynomials.
template<typename _Tp>
inline typename __gnu_cxx::__promote<_Tp>::__type
laguerre(unsigned int __n, _Tp __x)
@ -390,7 +390,6 @@ namespace tr1
return __detail::__laguerre<__type>(__n, __x);
}
// 5.2.1.19 Legendre polynomials.
inline float
legendref(unsigned int __n, float __x)
{ return __detail::__poly_legendre_p<float>(__n, __x); }
@ -399,6 +398,7 @@ namespace tr1
legendrel(unsigned int __n, long double __x)
{ return __detail::__poly_legendre_p<long double>(__n, __x); }
/// 5.2.1.19 Legendre polynomials.
template<typename _Tp>
inline typename __gnu_cxx::__promote<_Tp>::__type
legendre(unsigned int __n, _Tp __x)
@ -407,7 +407,6 @@ namespace tr1
return __detail::__poly_legendre_p<__type>(__n, __x);
}
// 5.2.1.20 Riemann zeta function.
inline float
riemann_zetaf(float __x)
{ return __detail::__riemann_zeta<float>(__x); }
@ -416,6 +415,7 @@ namespace tr1
riemann_zetal(long double __x)
{ return __detail::__riemann_zeta<long double>(__x); }
/// 5.2.1.20 Riemann zeta function.
template<typename _Tp>
inline typename __gnu_cxx::__promote<_Tp>::__type
riemann_zeta(_Tp __x)
@ -424,7 +424,6 @@ namespace tr1
return __detail::__riemann_zeta<__type>(__x);
}
// 5.2.1.21 Spherical Bessel functions.
inline float
sph_besself(unsigned int __n, float __x)
{ return __detail::__sph_bessel<float>(__n, __x); }
@ -433,6 +432,7 @@ namespace tr1
sph_bessell(unsigned int __n, long double __x)
{ return __detail::__sph_bessel<long double>(__n, __x); }
/// 5.2.1.21 Spherical Bessel functions.
template<typename _Tp>
inline typename __gnu_cxx::__promote<_Tp>::__type
sph_bessel(unsigned int __n, _Tp __x)
@ -441,7 +441,6 @@ namespace tr1
return __detail::__sph_bessel<__type>(__n, __x);
}
// 5.2.1.22 Spherical associated Legendre functions.
inline float
sph_legendref(unsigned int __l, unsigned int __m, float __theta)
{ return __detail::__sph_legendre<float>(__l, __m, __theta); }
@ -450,6 +449,7 @@ namespace tr1
sph_legendrel(unsigned int __l, unsigned int __m, long double __theta)
{ return __detail::__sph_legendre<long double>(__l, __m, __theta); }
/// 5.2.1.22 Spherical associated Legendre functions.
template<typename _Tp>
inline typename __gnu_cxx::__promote<_Tp>::__type
sph_legendre(unsigned int __l, unsigned int __m, _Tp __theta)
@ -458,7 +458,6 @@ namespace tr1
return __detail::__sph_legendre<__type>(__l, __m, __theta);
}
// 5.2.1.23 Spherical Neumann functions.
inline float
sph_neumannf(unsigned int __n, float __x)
{ return __detail::__sph_neumann<float>(__n, __x); }
@ -467,6 +466,7 @@ namespace tr1
sph_neumannl(unsigned int __n, long double __x)
{ return __detail::__sph_neumann<long double>(__n, __x); }
/// 5.2.1.23 Spherical Neumann functions.
template<typename _Tp>
inline typename __gnu_cxx::__promote<_Tp>::__type
sph_neumann(unsigned int __n, _Tp __x)
@ -475,7 +475,7 @@ namespace tr1
return __detail::__sph_neumann<__type>(__n, __x);
}
/* @} */ // group tr1_math_spec_func
/* @} */ // tr1_math_spec_func
}
}

View File

@ -1,6 +1,6 @@
// Special functions -*- C++ -*-
// Copyright (C) 2006-2007
// Copyright (C) 2006, 2007, 2008
// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
@ -55,14 +55,7 @@ namespace tr1
// [5.2] Special functions
/**
* @ingroup tr1_math_spec_func
* @{
*/
//
// Implementation-space details.
//
namespace __detail
{
@ -753,9 +746,6 @@ namespace tr1
}
} // namespace std::tr1::__detail
/* @} */ // group tr1_math_spec_func
}
}

View File

@ -1,6 +1,6 @@
// Special functions -*- C++ -*-
// Copyright (C) 2006-2007
// Copyright (C) 2006, 2007, 2008
// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
@ -60,14 +60,7 @@ namespace tr1
// [5.2] Special functions
/**
* @ingroup tr1_math_spec_func
* @{
*/
//
// Implementation-space details.
//
namespace __detail
{
@ -530,9 +523,6 @@ namespace tr1
}
} // namespace std::tr1::__detail
/* @} */ // group tr1_math_spec_func
}
}

View File

@ -1,6 +1,6 @@
// Special functions -*- C++ -*-
// Copyright (C) 2006-2007
// Copyright (C) 2006, 2007, 2008
// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
@ -58,15 +58,7 @@ namespace std
{
namespace tr1
{
/**
* @ingroup tr1_math_spec_func
* @{
*/
//
// Implementation-space details.
//
namespace __detail
{
@ -477,9 +469,6 @@ namespace tr1
}
} // namespace std::tr1::__detail
/* @} */ // group tr1_math_spec_func
}
}

View File

@ -1,6 +1,6 @@
// Special functions -*- C++ -*-
// Copyright (C) 2006-2007
// Copyright (C) 2006, 2007, 2008
// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
@ -54,14 +54,7 @@ namespace tr1
// [5.2] Special functions
/**
* @ingroup tr1_math_spec_func
* @{
*/
//
// Implementation-space details.
//
namespace __detail
{
@ -780,9 +773,6 @@ namespace tr1
}
} // namespace std::tr1::__detail
/* @} */ // group tr1_math_spec_func
}
}

View File

@ -1,6 +1,6 @@
// Special functions -*- C++ -*-
// Copyright (C) 2006-2007
// Copyright (C) 2006, 2007, 2008
// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
@ -59,14 +59,7 @@ namespace tr1
// [5.2] Special functions
/**
* @ingroup tr1_math_spec_func
* @{
*/
//
// Implementation-space details.
//
namespace __detail
{
@ -161,7 +154,8 @@ namespace tr1
_Tp __p_mm = _Tp(1);
if (__m > 0)
{
// Two square roots seem more accurate more of the time than just one.
// Two square roots seem more accurate more of the time
// than just one.
_Tp __root = std::sqrt(_Tp(1) - __x) * std::sqrt(_Tp(1) + __x);
_Tp __fact = _Tp(1);
for (unsigned int __i = 1; __i <= __m; ++__i)
@ -310,9 +304,6 @@ namespace tr1
}
} // namespace std::tr1::__detail
/* @} */ // group tr1_math_spec_func
}
}

View File

@ -1,6 +1,6 @@
// Special functions -*- C++ -*-
// Copyright (C) 2006-2007
// Copyright (C) 2006, 2007, 2008
// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
@ -61,14 +61,7 @@ namespace tr1
// [5.2] Special functions
/**
* @ingroup tr1_math_spec_func
* @{
*/
//
// Implementation-space details.
//
namespace __detail
{
@ -442,9 +435,6 @@ namespace tr1
}
} // namespace std::tr1::__detail
/* @} */ // group tr1_math_spec_func
}
}

View File

@ -1,6 +1,6 @@
// Special functions -*- C++ -*-
// Copyright (C) 2006-2007
// Copyright (C) 2006, 2007, 2008
// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
@ -52,14 +52,7 @@ namespace tr1
// [5.2] Special functions
/**
* @ingroup tr1_math_spec_func
* @{
*/
//
// Implementation-space details.
//
namespace __detail
{
@ -130,9 +123,6 @@ namespace tr1
}
} // namespace std::tr1::__detail
/* @} */ // group tr1_math_spec_func
}
}

View File

@ -1,6 +1,6 @@
// Special functions -*- C++ -*-
// Copyright (C) 2006-2007
// Copyright (C) 2006, 2007, 2008
// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
@ -54,14 +54,7 @@ namespace tr1
// [5.2] Special functions
/**
* @ingroup tr1_math_spec_func
* @{
*/
//
// Implementation-space details.
//
namespace __detail
{
@ -335,9 +328,6 @@ namespace tr1
}
} // namespace std::tr1::__detail
/* @} */ // group tr1_math_spec_func
}
}

View File

@ -1,6 +1,6 @@
// Special functions -*- C++ -*-
// Copyright (C) 2006-2007
// Copyright (C) 2006, 2007, 2008
// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
@ -57,14 +57,7 @@ namespace tr1
// [5.2] Special functions
/**
* @ingroup tr1_math_spec_func
* @{
*/
//
// Implementation-space details.
//
namespace __detail
{
@ -441,9 +434,6 @@ namespace tr1
}
} // namespace std::tr1::__detail
/* @} */ // group tr1_math_spec_func
}
}

View File

@ -42,7 +42,6 @@
#ifndef _GLIBCXX_TR1_SPECIAL_FUNCTION_UTIL_H
#define _GLIBCXX_TR1_SPECIAL_FUNCTION_UTIL_H 1
// namespace std::tr1
namespace std
{
namespace tr1
@ -51,21 +50,17 @@ namespace tr1
namespace __detail
{
///
/// @brief A class to encapsulate type dependent floating point
/// constants. Not everything will be able to be expressed
/// as type logic.
///
template <typename _Tp>
/// A class to encapsulate type dependent floating point
/// constants. Not everything will be able to be expressed as
/// type logic.
template<typename _Tp>
struct __floating_point_constant
{
static const _Tp __value;
};
///
/// @brief A structure for numeric constants.
///
/// A structure for numeric constants.
template<typename _Tp>
struct __numeric_constants
{
@ -111,15 +106,13 @@ namespace tr1
};
///
/// @brief This is a wrapper for the isnan function.
/// Otherwise, for NaN, all comparisons result in false.
/// If/when we build a std::isnan out of intrinsics, this
/// will disappear completely in favor of std::isnan.
///
#if _GLIBCXX_USE_C99_MATH && !_GLIBCXX_USE_C99_FP_MACROS_DYNAMIC
template <typename _Tp>
/// This is a wrapper for the isnan function. Otherwise, for NaN,
/// all comparisons result in false. If/when we build a std::isnan
/// out of intrinsics, this will disappear completely in favor of
/// std::isnan.
template<typename _Tp>
inline bool __isnan(const _Tp __x)
{
return std::isnan(__x);
@ -127,19 +120,19 @@ namespace tr1
#else
template <typename _Tp>
template<typename _Tp>
inline bool __isnan(const _Tp __x)
{
return __builtin_isnan(__x);
}
template <>
template<>
inline bool __isnan<float>(const float __x)
{
return __builtin_isnanf(__x);
}
template <>
template<>
inline bool __isnan<long double>(const long double __x)
{
return __builtin_isnanl(__x);

View File

@ -246,7 +246,7 @@ namespace tr1
template<typename _Tp>
struct tuple_size;
/// @brief class tuple_size
/// class tuple_size
template<typename... _Elements>
struct tuple_size<tuple<_Elements...> >
{

View File

@ -183,7 +183,7 @@ namespace tr1
template<typename _From, typename _To,
bool = (is_void<_From>::value || is_void<_To>::value
|| is_function<_To>::value || is_array<_To>::value
// This special case is here only to avoid warnings.
// This special case is here only to avoid warnings.
|| (is_floating_point<typename
remove_reference<_From>::type>::value
&& __is_int_or_cref<_To>::__value))>
@ -206,7 +206,7 @@ namespace tr1
__is_convertible_helper<_From, _To>::__value>
{ };
/// @brief reference modifications [4.7.2].
// reference modifications [4.7.2].
template<typename _Tp>
struct remove_reference
{ typedef _Tp type; };
@ -230,7 +230,7 @@ namespace tr1
: public __add_reference_helper<_Tp>
{ };
/// @brief other transformations [4.8].
// other transformations [4.8].
template<std::size_t _Len, std::size_t _Align>
struct aligned_storage
{

View File

@ -36,7 +36,7 @@ namespace std
{
_GLIBCXX_BEGIN_NAMESPACE_TR1
/// @brief struct array.
/// array.
/// NB: Requires complete type _Tp.
template<typename _Tp, std::size_t _Nm>
struct array
@ -216,8 +216,14 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1
{ std::swap_ranges(__one.begin(), __one.end(), __two.begin()); }
// Tuple interface to class template array [6.2.2.5].
template<typename _Tp> class tuple_size;
template<int _Int, typename _Tp> class tuple_element;
/// tuple_size
template<typename _Tp>
class tuple_size;
/// tuple_element
template<int _Int, typename _Tp>
class tuple_element;
template<typename _Tp, std::size_t _Nm>
struct tuple_size<array<_Tp, _Nm> >

View File

@ -195,7 +195,7 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1
#endif
/**
* @class shared_ptr <tr1/memory>
* @class __shared_ptr
*
* A smart pointer with reference-counted copy semantics.
* The object pointed to is deleted when the last shared_ptr pointing to
@ -230,7 +230,8 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1
}
//
// Requirements: _Deleter's copy constructor and destructor must not throw
// Requirements: _Deleter's copy constructor and destructor must
// not throw
//
// __shared_ptr will release __p by calling __d(__p)
//
@ -252,8 +253,9 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1
#ifdef _GLIBCXX_INCLUDE_AS_CXX0X
//
// Requirements: _Deleter's copy constructor and destructor must not throw
// _Alloc's copy constructor and destructor must not throw.
// Requirements: _Deleter's copy constructor and destructor must
// not throw _Alloc's copy constructor and destructor must not
// throw.
//
// __shared_ptr will release __p by calling __d(__p)
//
@ -811,7 +813,8 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1
};
// The actual TR1 shared_ptr, with forwarding constructors and
/// shared_ptr
// The actual shared_ptr, with forwarding constructors and
// assignment operators.
template<typename _Tp>
class shared_ptr
@ -965,7 +968,8 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1
}
// The actual TR1 weak_ptr, with forwarding constructors and
/// weak_ptr
// The actual weak_ptr, with forwarding constructors and
// assignment operators.
template<typename _Tp>
class weak_ptr
@ -1021,7 +1025,7 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1
}
};
/// enable_shared_from_this
template<typename _Tp>
class enable_shared_from_this
{

View File

@ -298,8 +298,7 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1
#if _GLIBCXX_USE_C99_MATH
#if !_GLIBCXX_USE_C99_FP_MACROS_DYNAMIC
/// @brief Function template definitions [8.16.3].
//
/// Function template definitions [8.16.3].
using std::signbit;
using std::fpclassify;
@ -320,8 +319,7 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1
#if _GLIBCXX_USE_C99_MATH_TR1
/// @brief Additional overloads [8.16.4].
//
/// Additional overloads [8.16.4].
using std::acos;
inline float

View File

@ -51,7 +51,7 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1
template<typename _Tp> std::complex<_Tp> fabs(const std::complex<_Tp>&);
#endif
/// @brief acos(__z) [8.1.2].
/// acos(__z) [8.1.2].
// Effects: Behaves the same as C99 function cacos, defined
// in subclause 7.3.5.1.
template<typename _Tp>
@ -87,7 +87,7 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1
{ return __complex_acos(__z); }
#endif
/// @brief asin(__z) [8.1.3].
/// asin(__z) [8.1.3].
// Effects: Behaves the same as C99 function casin, defined
// in subclause 7.3.5.2.
template<typename _Tp>
@ -123,7 +123,7 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1
{ return __complex_asin(__z); }
#endif
/// @brief atan(__z) [8.1.4].
/// atan(__z) [8.1.4].
// Effects: Behaves the same as C99 function catan, defined
// in subclause 7.3.5.3.
template<typename _Tp>
@ -167,7 +167,7 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1
{ return __complex_atan(__z); }
#endif
/// @brief acosh(__z) [8.1.5].
/// acosh(__z) [8.1.5].
// Effects: Behaves the same as C99 function cacosh, defined
// in subclause 7.3.6.1.
template<typename _Tp>
@ -206,7 +206,7 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1
{ return __complex_acosh(__z); }
#endif
/// @brief asinh(__z) [8.1.6].
/// asinh(__z) [8.1.6].
// Effects: Behaves the same as C99 function casin, defined
// in subclause 7.3.6.2.
template<typename _Tp>
@ -245,7 +245,7 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1
{ return __complex_asinh(__z); }
#endif
/// @brief atanh(__z) [8.1.7].
/// atanh(__z) [8.1.7].
// Effects: Behaves the same as C99 function catanh, defined
// in subclause 7.3.6.3.
template<typename _Tp>
@ -289,7 +289,7 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1
{ return __complex_atanh(__z); }
#endif
/// @brief fabs(__z) [8.1.8].
/// fabs(__z) [8.1.8].
// Effects: Behaves the same as C99 function cabs, defined
// in subclause 7.3.8.1.
template<typename _Tp>
@ -306,8 +306,7 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1
|| (defined(_GLIBCXX_INCLUDE_AS_TR1) \
&& !defined(__GXX_EXPERIMENTAL_CXX0X__)))
/// @brief Additional overloads [8.1.9].
//
/// Additional overloads [8.1.9].
template<typename _Tp>
inline typename __gnu_cxx::__promote<_Tp>::__type
arg(_Tp __x)

View File

@ -426,6 +426,7 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1
: binary_function<const volatile _T1*, _T2, _Res>
{ };
/// reference_wrapper
template<typename _Tp>
class reference_wrapper
: public _Reference_wrapper_base<typename remove_cv<_Tp>::type>
@ -1336,6 +1337,7 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1
template<typename _Result, typename _Signature>
const bool is_bind_expression<_Bind_result<_Result, _Signature> >::value;
/// bind
template<typename _Functor, typename... _ArgTypes>
inline
_Bind<typename _Maybe_wrap_member_pointer<_Functor>::type(_ArgTypes...)>
@ -1751,6 +1753,7 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1
}
};
/// class function
template<typename _Res, typename... _ArgTypes>
class function<_Res(_ArgTypes...)>
: public _Maybe_unary_or_binary_function<_Res, _ArgTypes...>,

View File

@ -1,6 +1,6 @@
// TR1 functional -*- C++ -*-
// Copyright (C) 2007 Free Software Foundation, Inc.
// Copyright (C) 2007, 2008 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
@ -36,7 +36,7 @@ namespace std
{
_GLIBCXX_BEGIN_NAMESPACE_TR1
// Class template hash.
/// Class template hash.
// Declaration of default hash functor std::tr1::hash. The types for
// which std::tr1::hash<T> is well-defined is in clause 6.3.3. of the PDTR.
template<typename _Tp>
@ -46,7 +46,7 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1
operator()(_Tp __val) const;
};
// Partial specializations for pointer types.
/// Partial specializations for pointer types.
template<typename _Tp>
struct hash<_Tp*> : public std::unary_function<_Tp*, size_t>
{
@ -55,7 +55,7 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1
{ return reinterpret_cast<size_t>(__p); }
};
// Explicit specializations for integer types.
/// Explicit specializations for integer types.
#define _TR1_hashtable_define_trivial_hash(_Tp) \
template<> \
inline size_t \
@ -81,7 +81,7 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1
// Fowler / Noll / Vo (FNV) Hash (type FNV-1a)
// (Used by the next specializations of std::tr1::hash.)
// Dummy generic implementation (for sizeof(size_t) != 4, 8).
/// Dummy generic implementation (for sizeof(size_t) != 4, 8).
template<size_t = sizeof(size_t)>
struct _Fnv_hash
{
@ -128,7 +128,7 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1
}
};
// Explicit specializations for floating point types.
/// Explicit specializations for float.
template<>
inline size_t
hash<float>::operator()(float __val) const
@ -142,6 +142,7 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1
return __result;
};
/// Explicit specializations for double.
template<>
inline size_t
hash<double>::operator()(double __val) const
@ -155,11 +156,12 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1
return __result;
};
/// Explicit specializations for long double.
template<>
size_t
hash<long double>::operator()(long double __val) const;
// Explicit specialization of member operator for types that are not builtin.
/// Explicit specialization of member operator for non-builtin types.
template<>
size_t
hash<string>::operator()(string) const;

View File

@ -149,8 +149,8 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1
} // namespace __detail
/**
* Produces random numbers on a given distribution function using a non-uniform
* random number generation engine.
* Produces random numbers on a given distribution function using a
* non-uniform random number generation engine.
*
* @todo the engine_value_type needs to be studied more carefully.
*/

View File

@ -241,7 +241,7 @@ namespace regex_constants
static const match_flag_type format_first_only = 1 << _S_first_only;
// [7.5.3] implementation-defined error type
/// [7.5.3] implementation-defined error type
enum error_type
{
_S_error_collate,
@ -308,7 +308,7 @@ namespace regex_constants
// [7.8] Class regex_error
/**
* Defines the type of objects thrown as exceptions to report errors from the
* Defines the exception objects thrown report errors from the
* regular expression library.
*/
class regex_error

View File

@ -67,7 +67,7 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1
_DEFINE_SPEC_##_Order##_HELPER(_Trait<_Type volatile>, _Value) \
_DEFINE_SPEC_##_Order##_HELPER(_Trait<_Type const volatile>, _Value)
/// @brief helper classes [4.3].
/// helper classes [4.3].
template<typename _Tp, _Tp __v>
struct integral_constant
{
@ -75,18 +75,23 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1
typedef _Tp value_type;
typedef integral_constant<_Tp, __v> type;
};
/// typedef for true_type
typedef integral_constant<bool, true> true_type;
/// typedef for true_type
typedef integral_constant<bool, false> false_type;
template<typename _Tp, _Tp __v>
const _Tp integral_constant<_Tp, __v>::value;
/// @brief primary type categories [4.5.1].
/// primary type categories [4.5.1].
template<typename>
struct is_void
: public false_type { };
_DEFINE_SPEC(0, is_void, void, true)
/// is_integral
template<typename>
struct is_integral
: public false_type { };
@ -106,6 +111,7 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1
_DEFINE_SPEC(0, is_integral, long long, true)
_DEFINE_SPEC(0, is_integral, unsigned long long, true)
/// is_floating_point
template<typename>
struct is_floating_point
: public false_type { };
@ -113,6 +119,7 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1
_DEFINE_SPEC(0, is_floating_point, double, true)
_DEFINE_SPEC(0, is_floating_point, long double, true)
/// is_array
template<typename>
struct is_array
: public false_type { };
@ -125,39 +132,47 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1
struct is_array<_Tp[]>
: public true_type { };
/// is_pointer
template<typename>
struct is_pointer
: public false_type { };
_DEFINE_SPEC(1, is_pointer, _Tp*, true)
/// is_reference
template<typename _Tp>
struct is_reference;
/// is_function
template<typename _Tp>
struct is_function;
/// is_member_object_pointer
template<typename>
struct is_member_object_pointer
: public false_type { };
_DEFINE_SPEC(2, is_member_object_pointer, _Tp _Cp::*,
!is_function<_Tp>::value)
/// is_member_function_pointer
template<typename>
struct is_member_function_pointer
: public false_type { };
_DEFINE_SPEC(2, is_member_function_pointer, _Tp _Cp::*,
is_function<_Tp>::value)
/// is_enum
template<typename _Tp>
struct is_enum
: public integral_constant<bool, __is_enum(_Tp)>
{ };
/// is_union
template<typename _Tp>
struct is_union
: public integral_constant<bool, __is_union(_Tp)>
{ };
/// is_class
template<typename _Tp>
struct is_class
: public integral_constant<bool, __is_class(_Tp)>
@ -177,9 +192,11 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1
static const bool __value = sizeof(__test<_Tp>(0)) == 1;
};
/// is_abstract
template<typename _Tp>
struct is_abstract;
/// is_function
template<typename _Tp>
struct is_function
: public integral_constant<bool, !(__in_array<_Tp>::__value
@ -188,19 +205,21 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1
|| is_void<_Tp>::value)>
{ };
/// @brief composite type traits [4.5.2].
/// composite type traits [4.5.2].
template<typename _Tp>
struct is_arithmetic
: public integral_constant<bool, (is_integral<_Tp>::value
|| is_floating_point<_Tp>::value)>
{ };
/// is_fundamental
template<typename _Tp>
struct is_fundamental
: public integral_constant<bool, (is_arithmetic<_Tp>::value
|| is_void<_Tp>::value)>
{ };
/// is_object
template<typename _Tp>
struct is_object
: public integral_constant<bool, !(is_function<_Tp>::value
@ -208,9 +227,11 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1
|| is_void<_Tp>::value)>
{ };
/// is_member_pointer
template<typename _Tp>
struct is_member_pointer;
/// is_scalal
template<typename _Tp>
struct is_scalar
: public integral_constant<bool, (is_arithmetic<_Tp>::value
@ -219,10 +240,12 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1
|| is_member_pointer<_Tp>::value)>
{ };
/// is_compound
template<typename _Tp>
struct is_compound
: public integral_constant<bool, !is_fundamental<_Tp>::value> { };
/// is_member_pointer
template<typename _Tp>
struct is_member_pointer
: public integral_constant<bool,
@ -230,15 +253,17 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1
|| is_member_function_pointer<_Tp>::value)>
{ };
/// @brief type properties [4.5.3].
/// type properties [4.5.3].
template<typename>
struct is_const
: public false_type { };
/// is_const
template<typename _Tp>
struct is_const<_Tp const>
: public true_type { };
/// is_volatile
template<typename>
struct is_volatile
: public false_type { };
@ -247,30 +272,36 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1
struct is_volatile<_Tp volatile>
: public true_type { };
/// is_empty
template<typename _Tp>
struct is_empty
: public integral_constant<bool, __is_empty(_Tp)>
{ };
/// is_polymorphic
template<typename _Tp>
struct is_polymorphic
: public integral_constant<bool, __is_polymorphic(_Tp)>
{ };
/// is_abstract
template<typename _Tp>
struct is_abstract
: public integral_constant<bool, __is_abstract(_Tp)>
{ };
/// has_virtual_destructor
template<typename _Tp>
struct has_virtual_destructor
: public integral_constant<bool, __has_virtual_destructor(_Tp)>
{ };
/// alignment_of
template<typename _Tp>
struct alignment_of
: public integral_constant<std::size_t, __alignof__(_Tp)> { };
/// rank
template<typename>
struct rank
: public integral_constant<std::size_t, 0> { };
@ -283,6 +314,7 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1
struct rank<_Tp[]>
: public integral_constant<std::size_t, 1 + rank<_Tp>::value> { };
/// extent
template<typename, unsigned _Uint = 0>
struct extent
: public integral_constant<std::size_t, 0> { };
@ -301,7 +333,7 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1
_Uint - 1>::value>
{ };
/// @brief relationships between types [4.6].
/// relationships between types [4.6].
template<typename, typename>
struct is_same
: public false_type { };
@ -310,7 +342,7 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1
struct is_same<_Tp, _Tp>
: public true_type { };
/// @brief const-volatile modifications [4.7.1].
/// const-volatile modifications [4.7.1].
template<typename _Tp>
struct remove_const
{ typedef _Tp type; };
@ -319,6 +351,7 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1
struct remove_const<_Tp const>
{ typedef _Tp type; };
/// remove_volatile
template<typename _Tp>
struct remove_volatile
{ typedef _Tp type; };
@ -327,6 +360,7 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1
struct remove_volatile<_Tp volatile>
{ typedef _Tp type; };
/// remove_cv
template<typename _Tp>
struct remove_cv
{
@ -334,14 +368,17 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1
remove_const<typename remove_volatile<_Tp>::type>::type type;
};
/// add_const
template<typename _Tp>
struct add_const
{ typedef _Tp const type; };
/// add_volatile
template<typename _Tp>
struct add_volatile
{ typedef _Tp volatile type; };
/// add_cv
template<typename _Tp>
struct add_cv
{
@ -349,7 +386,7 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1
add_const<typename add_volatile<_Tp>::type>::type type;
};
/// @brief array modifications [4.7.3].
/// array modifications [4.7.3].
template<typename _Tp>
struct remove_extent
{ typedef _Tp type; };
@ -362,6 +399,7 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1
struct remove_extent<_Tp[]>
{ typedef _Tp type; };
/// remove_all_extents
template<typename _Tp>
struct remove_all_extents
{ typedef _Tp type; };
@ -374,19 +412,22 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1
struct remove_all_extents<_Tp[]>
{ typedef typename remove_all_extents<_Tp>::type type; };
/// @brief pointer modifications [4.7.4].
/// pointer modifications [4.7.4].
#undef _DEFINE_SPEC_BODY
#define _DEFINE_SPEC_BODY(_Value) \
{ typedef _Tp type; };
/// remove_pointer
template<typename _Tp>
struct remove_pointer
{ typedef _Tp type; };
_DEFINE_SPEC(1, remove_pointer, _Tp*, false)
/// remove_reference
template<typename _Tp>
struct remove_reference;
/// add_pointer
template<typename _Tp>
struct add_pointer
{ typedef typename remove_reference<_Tp>::type* type; };

View File

@ -168,6 +168,7 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1
{ __x.swap(__y); }
/// class unordered_map
template<class _Key, class _Tp,
class _Hash = hash<_Key>,
class _Pred = std::equal_to<_Key>,
@ -215,6 +216,7 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1
#endif
};
/// class unordered_multimap
template<class _Key, class _Tp,
class _Hash = hash<_Key>,
class _Pred = std::equal_to<_Key>,

View File

@ -150,10 +150,8 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1
template<class _Value, class _Hash, class _Pred, class _Alloc,
bool __cache_hash_code>
inline void
swap (__unordered_set<_Value, _Hash, _Pred,
_Alloc, __cache_hash_code>& __x,
__unordered_set<_Value, _Hash, _Pred,
_Alloc, __cache_hash_code>& __y)
swap(__unordered_set<_Value, _Hash, _Pred, _Alloc, __cache_hash_code>& __x,
__unordered_set<_Value, _Hash, _Pred, _Alloc, __cache_hash_code>& __y)
{ __x.swap(__y); }
template<class _Value, class _Hash, class _Pred, class _Alloc,
@ -166,6 +164,7 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1
{ __x.swap(__y); }
/// class unordered_set
template<class _Value,
class _Hash = hash<_Value>,
class _Pred = std::equal_to<_Value>,
@ -213,6 +212,7 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1
#endif
};
/// class unordered_multiset
template<class _Value,
class _Hash = hash<_Value>,
class _Pred = std::equal_to<_Value>,

View File

@ -10,7 +10,7 @@
# We can check now that the version of doxygen is >= this variable.
DOXYVER=1.5.4
DOXYVER=1.5.1
find_doxygen() {
local -r v_required=`echo $DOXYVER | \
@ -156,7 +156,6 @@ fi
-e "s=@srcdir@=${srcdir}=g" \
-e "s=@builddir@=${builddir}=g" \
-e "s=@host_alias@=${host_alias}=g" \
-e "s=@html_output_dir@=html=" \
-e "s=@enabled_sections@=${enabled_sections}=" \
-e "s=@do_html@=${do_html}=" \
-e "s=@do_man@=${do_man}=" \

View File

@ -50,7 +50,7 @@ int main()
return 0;
}
// { dg-error "is private" "" { target *-*-* } 75 }
// { dg-error "is private" "" { target *-*-* } 76 }
// { dg-error "within this context" "" { target *-*-* } 29 }
// { dg-error "first required here" "" { target *-*-* } 48 }
// { dg-excess-errors "copy constructor" }

View File

@ -49,8 +49,8 @@ void test01()
// { dg-error "instantiated from here" "" { target *-*-* } 41 }
// { dg-error "instantiated from here" "" { target *-*-* } 43 }
// { dg-error "invalid use of incomplete type" "" { target *-*-* } 511 }
// { dg-error "declaration of" "" { target *-*-* } 477 }
// { dg-error "invalid use of incomplete type" "" { target *-*-* } 549 }
// { dg-error "declaration of" "" { target *-*-* } 515 }
// { dg-excess-errors "At global scope" }
// { dg-excess-errors "In instantiation of" }

View File

@ -49,8 +49,8 @@ void test01()
// { dg-error "instantiated from here" "" { target *-*-* } 41 }
// { dg-error "instantiated from here" "" { target *-*-* } 43 }
// { dg-error "invalid use of incomplete type" "" { target *-*-* } 436 }
// { dg-error "declaration of" "" { target *-*-* } 402 }
// { dg-error "invalid use of incomplete type" "" { target *-*-* } 474 }
// { dg-error "declaration of" "" { target *-*-* } 440 }
// { dg-excess-errors "At global scope" }
// { dg-excess-errors "In instantiation of" }