mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-04-10 04:20:29 +08:00
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:
parent
a0a5f30f8e
commit
939759fcc9
libstdc++-v3
ChangeLog
config/abi
doc
include
bits
debug
ext
array_allocator.hbitmap_allocator.hcodecvt_specializations.hconcurrence.henc_filebuf.hmt_allocator.h
pb_ds
pool_allocator.hstdio_sync_filebuf.hthrow_allocator.htypelist.hparallel
std
tr1
bessel_function.tccbeta_function.tcccmathell_integral.tccexp_integral.tccgamma.tcchypergeometric.tcclegendre_function.tccmodified_bessel_func.tccpoly_hermite.tccpoly_laguerre.tccriemann_zeta.tccspecial_function_util.htupletype_traits
tr1_impl
scripts
testsuite
19_diagnostics/error_category/cons
20_util
@ -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.
|
||||
|
@ -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.
|
||||
*/
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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>
|
||||
|
||||
|
@ -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 }
|
@ -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">
|
||||
|
@ -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
|
||||
|
||||
|
@ -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>
|
||||
|
@ -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">"the latest collection"
|
||||
|
@ -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>
|
||||
|
@ -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>
|
||||
{
|
||||
|
@ -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>
|
||||
{
|
||||
|
@ -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>
|
||||
{
|
||||
|
@ -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>
|
||||
{
|
||||
|
@ -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>
|
||||
{
|
||||
|
@ -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;
|
||||
|
@ -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
|
||||
{
|
||||
|
@ -706,6 +706,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
|
||||
};
|
||||
};
|
||||
|
||||
/// Primary template
|
||||
template<typename _Tp>
|
||||
class bitmap_allocator : private free_list
|
||||
{
|
||||
|
@ -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>
|
||||
|
@ -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
|
||||
|
@ -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> >
|
||||
|
@ -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> >
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
{
|
||||
|
@ -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>
|
||||
{
|
||||
|
@ -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;
|
||||
|
@ -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 { };
|
||||
|
@ -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
|
||||
{
|
||||
|
@ -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:
|
||||
|
@ -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:
|
||||
|
@ -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...> >
|
||||
{
|
||||
|
@ -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; };
|
||||
|
@ -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
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -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
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -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
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -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
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -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
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -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
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -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
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -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
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -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
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -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
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -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
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -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
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -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);
|
||||
|
@ -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...> >
|
||||
{
|
||||
|
@ -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
|
||||
{
|
||||
|
@ -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> >
|
||||
|
@ -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
|
||||
{
|
||||
|
@ -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
|
||||
|
@ -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)
|
||||
|
@ -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...>,
|
||||
|
@ -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;
|
||||
|
@ -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.
|
||||
*/
|
||||
|
@ -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
|
||||
|
@ -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; };
|
||||
|
@ -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>,
|
||||
|
@ -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>,
|
||||
|
@ -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}=" \
|
||||
|
@ -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" }
|
||||
|
@ -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" }
|
||||
|
@ -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" }
|
||||
|
Loading…
x
Reference in New Issue
Block a user