doxygroups.cc: Move algorithm groups into algorithmfwd.h.
2009-02-18 Benjamin Kosnik <bkoz@redhat.com> * doc/doxygen/doxygroups.cc: Move algorithm groups into algorithmfwd.h. * doc/doxygen/user.cfg.in: Update. * scripts/run_doxygen: Adjust for new group names. * include/tr1_impl/random: Update doxygen group markup. * include/tr1_impl/unordered_map: Same. * include/tr1_impl/unordered_set: Same. * include/tr1_impl/array: Same. * include/std/numeric: Same. * include/std/utility: Same. * include/std/bitset: Same. * include/std/iosfwd: Same. * include/bits/stl_list.h: Same. * include/bits/stl_map.h: Same. * include/bits/stl_algobase.h: Same. * include/bits/stl_queue.h: Same. * include/bits/stl_set.h: Same. * include/bits/stl_stack.h: Same. * include/bits/stl_iterator_base_types.h: Same. * include/bits/forward_list.h: Same. * include/bits/basic_string.h: Same. * include/bits/stl_multimap.h: Same. * include/bits/stl_vector.h: Same. * include/bits/stl_deque.h: Same. * include/bits/stl_multiset.h: Same. * include/bits/stl_algo.h: Same. * include/bits/stl_bvector.h: Same. * include/bits/algorithmfwd.h: Same. * include/bits/stl_function.h: Same. * include/tr1/cmath: Same. * include/backward/binders.h: Same. From-SVN: r144290
This commit is contained in:
parent
57c2231b23
commit
aac2878e16
31 changed files with 719 additions and 472 deletions
|
@ -1,3 +1,37 @@
|
|||
2009-02-18 Benjamin Kosnik <bkoz@redhat.com>
|
||||
|
||||
* doc/doxygen/doxygroups.cc: Move algorithm groups into algorithmfwd.h.
|
||||
* doc/doxygen/user.cfg.in: Update.
|
||||
* scripts/run_doxygen: Adjust for new group names.
|
||||
|
||||
* include/tr1_impl/random: Update doxygen group markup.
|
||||
* include/tr1_impl/unordered_map: Same.
|
||||
* include/tr1_impl/unordered_set: Same.
|
||||
* include/tr1_impl/array: Same.
|
||||
* include/std/numeric: Same.
|
||||
* include/std/utility: Same.
|
||||
* include/std/bitset: Same.
|
||||
* include/std/iosfwd: Same.
|
||||
* include/bits/stl_list.h: Same.
|
||||
* include/bits/stl_map.h: Same.
|
||||
* include/bits/stl_algobase.h: Same.
|
||||
* include/bits/stl_queue.h: Same.
|
||||
* include/bits/stl_set.h: Same.
|
||||
* include/bits/stl_stack.h: Same.
|
||||
* include/bits/stl_iterator_base_types.h: Same.
|
||||
* include/bits/forward_list.h: Same.
|
||||
* include/bits/basic_string.h: Same.
|
||||
* include/bits/stl_multimap.h: Same.
|
||||
* include/bits/stl_vector.h: Same.
|
||||
* include/bits/stl_deque.h: Same.
|
||||
* include/bits/stl_multiset.h: Same.
|
||||
* include/bits/stl_algo.h: Same.
|
||||
* include/bits/stl_bvector.h: Same.
|
||||
* include/bits/algorithmfwd.h: Same.
|
||||
* include/bits/stl_function.h: Same.
|
||||
* include/tr1/cmath: Same.
|
||||
* include/backward/binders.h: Same.
|
||||
|
||||
2009-02-17 Benjamin Kosnik <bkoz@redhat.com>
|
||||
|
||||
* include/std/system_error (system_category): To system_category().
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
Copyright (C) 2001, 2002, 2005, 2008 Free Software Foundation, Inc.
|
||||
Copyright (C) 2001, 2002, 2005, 2008, 2009 Free Software Foundation, Inc.
|
||||
See license.html for license.
|
||||
|
||||
This just provides documentation for stuff that doesn't need to be in the
|
||||
|
@ -51,88 +51,6 @@
|
|||
* @brief GNU implemenation details, not for public use or
|
||||
* export. Used only when anonymous namespaces cannot be substituted.
|
||||
*/
|
||||
// // // // // // // // // // // // // // // // // // // // // // // //
|
||||
/** @addtogroup SGIextensions STL extensions from SGI
|
||||
Because libstdc++ based its implementation of the STL subsections of
|
||||
the library on the SGI 3.3 implementation, we inherited their extensions
|
||||
as well.
|
||||
|
||||
They are additionally documented in the
|
||||
<a href="http://gcc.gnu.org/onlinedocs/libstdc++/documentation.html">
|
||||
online documentation</a>, a copy of which is also shipped with the
|
||||
library source code (in .../docs/html/documentation.html). You can also
|
||||
read the documentation <a href="http://www.sgi.com/tech/stl/">on SGI's
|
||||
site</a>, which is still running even though the code is not maintained.
|
||||
|
||||
<strong>NB</strong> that the following notes are pulled from various
|
||||
comments all over the place, so they may seem stilted.
|
||||
<hr>
|
||||
*/
|
||||
|
||||
// // // // // // // // // // // // // // // // // // // // // // // //
|
||||
// This is standalone because, unlike the functor introduction, there is no
|
||||
// single header file which serves as a base "all containers must include
|
||||
// this header". We do some quoting of 14882 here.
|
||||
/** @addtogroup Containers Containers
|
||||
Containers are collections of objects.
|
||||
|
||||
A container may hold any type which meets certain requirements, but the type
|
||||
of contained object is chosen at compile time, and all objects in a given
|
||||
container must be of the same type. (Polymorphism is possible by declaring a
|
||||
container of pointers to a base class and then populating it with pointers to
|
||||
instances of derived classes. Variant value types such as the @c any class
|
||||
from <a href="http://www.boost.org/">Boost</a> can also be used.
|
||||
|
||||
All contained types must be @c Assignable and @c CopyConstructible.
|
||||
Specific containers may place additional requirements on the types of
|
||||
their contained objects.
|
||||
|
||||
Containers manage memory allocation and deallocation themselves when
|
||||
storing your objects. The objects are destroyed when the container is
|
||||
itself destroyed. Note that if you are storing pointers in a container,
|
||||
@c delete is @e not automatically called on the pointers before destroying them.
|
||||
|
||||
All containers must meet certain requirements, summarized in
|
||||
<a href="tables.html">tables</a>.
|
||||
|
||||
The standard containers are further refined into
|
||||
@link Sequences Sequences@endlink and
|
||||
@link Assoc_containers Associative Containers@endlink.
|
||||
*/
|
||||
|
||||
/** @addtogroup Sequences Sequences
|
||||
Sequences arrange a collection of objects into a strictly linear order.
|
||||
|
||||
The differences between sequences are usually due to one or both of the
|
||||
following:
|
||||
- memory management
|
||||
- algorithmic complexity
|
||||
|
||||
As an example of the first case, @c vector is required to use a contiguous
|
||||
memory layout, while other sequences such as @c deque are not.
|
||||
|
||||
The prime reason for choosing one sequence over another should be based on
|
||||
the second category of differences, algorithmic complexity. For example, if
|
||||
you need to perform many inserts and removals from the middle of a sequence,
|
||||
@c list would be ideal. But if you need to perform constant-time access to
|
||||
random elements of the sequence, then @c list should not be used.
|
||||
|
||||
All sequences must meet certain requirements, summarized in
|
||||
<a href="tables.html">tables</a>.
|
||||
*/
|
||||
|
||||
/** @addtogroup Assoc_containers Associative Containers
|
||||
Associative containers allow fast retrieval of data based on keys.
|
||||
|
||||
Each container type is parameterized on a @c Key type, and an ordering
|
||||
relation used to sort the elements of the container.
|
||||
|
||||
There should be more text here.
|
||||
|
||||
All associative containers must meet certain requirements, summarized in
|
||||
<a href="tables.html">tables</a>.
|
||||
*/
|
||||
|
||||
// // // // // // // // // // // // // // // // // // // // // // // //
|
||||
/** @namespace abi
|
||||
* @brief The cross-vendor C++ Application Binary Interface. A
|
||||
|
@ -199,44 +117,110 @@ char* __cxa_demangle (const char* mangled_name, char* output_buffer,
|
|||
} // namespace abi
|
||||
|
||||
// // // // // // // // // // // // // // // // // // // // // // // //
|
||||
/** @addtogroup binarysearch Binary search algorithms
|
||||
These algorithms are variations of a classic binary search. They all assume
|
||||
that the sequence being searched is already sorted.
|
||||
|
||||
The number of comparisons will be logarithmic (and as few as possible).
|
||||
The number of steps through the sequence will be logarithmic for
|
||||
random-access iterators (e.g., pointers), and linear otherwise.
|
||||
/**
|
||||
* @defgroup extensions Extensions
|
||||
*
|
||||
* Components generally useful that are not part of any standard.
|
||||
*/
|
||||
|
||||
The LWG has passed Defect Report 270, which notes: <em>The proposed
|
||||
resolution reinterprets binary search. Instead of thinking about searching
|
||||
for a value in a sorted range, we view that as an important special
|
||||
case of a more general algorithm: searching for the partition point in a
|
||||
partitioned range. We also add a guarantee that the old wording did not:
|
||||
we ensure that the upper bound is no earlier than the lower bound, that
|
||||
the pair returned by equal_range is a valid range, and that the first part
|
||||
of that pair is the lower bound.</em>
|
||||
/** @defgroup SGIextensions SGI STL extensions
|
||||
* @ingroup extensions
|
||||
Because libstdc++ based its implementation of the STL subsections of
|
||||
the library on the SGI 3.3 implementation, we inherited their extensions
|
||||
as well.
|
||||
|
||||
The actual effect of the first sentence is that a comparison functor
|
||||
passed by the user doesn't necessarily need to induce a strict weak ordering
|
||||
relation. Rather, it partitions the range.
|
||||
They are additionally documented in the
|
||||
<a href="http://gcc.gnu.org/onlinedocs/libstdc++/documentation.html">
|
||||
online documentation</a>, a copy of which is also shipped with the
|
||||
library source code (in .../docs/html/documentation.html). You can also
|
||||
read the documentation <a href="http://www.sgi.com/tech/stl/">on SGI's
|
||||
site</a>, which is still running even though the code is not maintained.
|
||||
|
||||
<strong>NB</strong> that the following notes are pulled from various
|
||||
comments all over the place, so they may seem stilted.
|
||||
<hr>
|
||||
*/
|
||||
|
||||
// // // // // // // // // // // // // // // // // // // // // // // //
|
||||
/** @addtogroup setoperations Set operation algorithms
|
||||
These algorithms are common set operations performed on sequences that are
|
||||
already sorted.
|
||||
// This is standalone because, unlike the functor introduction, there is no
|
||||
// single header file which serves as a base "all containers must include
|
||||
// this header". We do some quoting of 14882 here.
|
||||
/** @defgroup containers Containers
|
||||
Containers are collections of objects.
|
||||
|
||||
The number of comparisons will be linear.
|
||||
A container may hold any type which meets certain requirements, but the type
|
||||
of contained object is chosen at compile time, and all objects in a given
|
||||
container must be of the same type. (Polymorphism is possible by declaring a
|
||||
container of pointers to a base class and then populating it with pointers to
|
||||
instances of derived classes. Variant value types such as the @c any class
|
||||
from <a href="http://www.boost.org/">Boost</a> can also be used.
|
||||
|
||||
All contained types must be @c Assignable and @c CopyConstructible.
|
||||
Specific containers may place additional requirements on the types of
|
||||
their contained objects.
|
||||
|
||||
Containers manage memory allocation and deallocation themselves when
|
||||
storing your objects. The objects are destroyed when the container is
|
||||
itself destroyed. Note that if you are storing pointers in a container,
|
||||
@c delete is @e not automatically called on the pointers before destroying them.
|
||||
|
||||
All containers must meet certain requirements, summarized in
|
||||
<a href="tables.html">tables</a>.
|
||||
|
||||
The standard containers are further refined into
|
||||
@link Sequences Sequences@endlink and
|
||||
@link Assoc_containers Associative Containers@endlink.
|
||||
@link Unordered_assoc_containers Unordered Associative Containers@endlink.
|
||||
*/
|
||||
|
||||
// // // // // // // // // // // // // // // // // // // // // // // //
|
||||
/** @defgroup sequences Sequences
|
||||
* @ingroup containers
|
||||
Sequences arrange a collection of objects into a strictly linear order.
|
||||
|
||||
The differences between sequences are usually due to one or both of the
|
||||
following:
|
||||
- memory management
|
||||
- algorithmic complexity
|
||||
|
||||
As an example of the first case, @c vector is required to use a contiguous
|
||||
memory layout, while other sequences such as @c deque are not.
|
||||
|
||||
The prime reason for choosing one sequence over another should be based on
|
||||
the second category of differences, algorithmic complexity. For example, if
|
||||
you need to perform many inserts and removals from the middle of a sequence,
|
||||
@c list would be ideal. But if you need to perform constant-time access to
|
||||
random elements of the sequence, then @c list should not be used.
|
||||
|
||||
All sequences must meet certain requirements, summarized in
|
||||
<a href="tables.html">tables</a>.
|
||||
*/
|
||||
|
||||
/** @defgroup associative_containers Associative Containers
|
||||
* @ingroup containers
|
||||
Associative containers allow fast retrieval of data based on keys.
|
||||
|
||||
Each container type is parameterized on a @c Key type, and an ordering
|
||||
relation used to sort the elements of the container.
|
||||
|
||||
All associative containers must meet certain requirements, summarized in
|
||||
<a href="tables.html">tables</a>.
|
||||
*/
|
||||
|
||||
/** @defgroup unordered_associative_containers Unordered Associative Containers
|
||||
* @ingroup containers
|
||||
Unordered associative containers allow fast retrieval of data based on keys.
|
||||
|
||||
Each container type is parameterized on a @c Key type, a @c Hash type
|
||||
providing a hashing functor, and an ordering relation used to sort the
|
||||
elements of the container.
|
||||
|
||||
All unordered associative containers must meet certain requirements,
|
||||
summarized in <a href="tables.html">tables</a>. */
|
||||
|
||||
// // // // // // // // // // // // // // // // // // // // // // // //
|
||||
/* * @addtogroup groupname description of group
|
||||
/* * @defgroup groupname description of group
|
||||
placeholder text
|
||||
*/
|
||||
|
||||
// // // // // // // // // // // // // // // // // // // // // // // //
|
||||
|
||||
// vim:et:noai:
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
# Doxyfile 1.5.7.1
|
||||
# Doxyfile 1.5.8
|
||||
|
||||
# This file describes the settings to be used by the documentation system
|
||||
# doxygen (www.doxygen.org) for a project
|
||||
|
@ -77,15 +77,15 @@ BRIEF_MEMBER_DESC = NO
|
|||
|
||||
REPEAT_BRIEF = YES
|
||||
|
||||
# This tag implements a quasi-intelligent brief description
|
||||
# abbreviator that is used to form the text in various listings. Each
|
||||
# string in this list, if found as the leading text of the brief
|
||||
# description, will be stripped from the text and the result after
|
||||
# processing the whole list, is used as the annotated text. Otherwise,
|
||||
# the brief description is used as-is. If left blank, the following
|
||||
# values are used ("$name" is automatically replaced with the name of
|
||||
# the entity): "The $name class" "The $name widget" "The $name file"
|
||||
# "is" "provides" "specifies" "contains" "represents" "a" "an" "the"
|
||||
# This tag implements a quasi-intelligent brief description abbreviator
|
||||
# that is used to form the text in various listings. Each string
|
||||
# in this list, if found as the leading text of the brief description, will be
|
||||
# stripped from the text and the result after processing the whole list, is
|
||||
# used as the annotated text. Otherwise, the brief description is used as-is.
|
||||
# If left blank, the following values are used ("$name" is automatically
|
||||
# replaced with the name of the entity): "The $name class" "The $name widget"
|
||||
# "The $name file" "is" "provides" "specifies" "contains"
|
||||
# "represents" "a" "an" "the"
|
||||
|
||||
ABBREVIATE_BRIEF =
|
||||
|
||||
|
@ -95,11 +95,10 @@ ABBREVIATE_BRIEF =
|
|||
|
||||
ALWAYS_DETAILED_SEC = YES
|
||||
|
||||
# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show
|
||||
# all inherited members of a class in the documentation of that class
|
||||
# as if those members were ordinary class members. Constructors,
|
||||
# destructors and assignment operators of the base classes will not be
|
||||
# shown.
|
||||
# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all
|
||||
# inherited members of a class in the documentation of that class as if those
|
||||
# members were ordinary class members. Constructors, destructors and assignment
|
||||
# operators of the base classes will not be shown.
|
||||
|
||||
INLINE_INHERITED_MEMB = YES
|
||||
|
||||
|
@ -182,7 +181,7 @@ TAB_SIZE = 4
|
|||
# You can put \n's in the value part of an alias to insert newlines.
|
||||
|
||||
ALIASES = "doctodo=@todo\nDoc me! See doc/doxygen/TODO and http://gcc.gnu.org/ml/libstdc++/2002-02/msg00003.html for more. " \
|
||||
"isiosfwd=One of the @link s27_2_iosfwd I/O forward declarations @endlink "
|
||||
"isiosfwd=One of the @link ios I/O @endlink "
|
||||
|
||||
# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of
|
||||
# C sources only. Doxygen will then generate output that is more
|
||||
|
@ -210,6 +209,18 @@ OPTIMIZE_FOR_FORTRAN = NO
|
|||
|
||||
OPTIMIZE_OUTPUT_VHDL = NO
|
||||
|
||||
# Doxygen selects the parser to use depending on the extension of the
|
||||
# files it parses. With this tag you can assign which parser to use
|
||||
# for a given extension. Doxygen has a built-in mapping, but you can
|
||||
# override or extend it using this tag. The format is ext=language,
|
||||
# where ext is a file extension, and language is one of the parsers
|
||||
# supported by doxygen: IDL, Java, Javascript, C#, C, C++, D, PHP,
|
||||
# Objective-C, Python, Fortran, VHDL, C, C++. For instance to make
|
||||
# doxygen treat .inc files as Fortran files (default is PHP), and .f
|
||||
# files as C (default is Fortran), use: inc=Fortran f=C
|
||||
|
||||
EXTENSION_MAPPING =
|
||||
|
||||
# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want
|
||||
# to include (a tag file for) the STL sources as input, then you should
|
||||
# set this tag to YES in order to let doxygen match functions declarations and
|
||||
|
@ -219,7 +230,7 @@ OPTIMIZE_OUTPUT_VHDL = NO
|
|||
|
||||
BUILTIN_STL_SUPPORT = NO
|
||||
|
||||
# If you use Microsoft's C++/CLI language, you should set this option to YES to
|
||||
# If you use Microsoft's C++/CLI language, you should set this option to YES to
|
||||
# enable parsing support.
|
||||
|
||||
CPP_CLI_SUPPORT = NO
|
||||
|
@ -248,22 +259,22 @@ IDL_PROPERTY_SUPPORT = YES
|
|||
|
||||
DISTRIBUTE_GROUP_DOC = YES
|
||||
|
||||
# Set the SUBGROUPING tag to YES (the default) to allow class member
|
||||
# groups of the same type (for instance a group of public functions)
|
||||
# to be put as a subgroup of that type (e.g. under the Public
|
||||
# Functions section). Set it to NO to prevent
|
||||
# subgrouping. Alternatively, this can be done per class using the
|
||||
# \nosubgrouping command.
|
||||
# Set the SUBGROUPING tag to YES (the default) to allow class member groups of
|
||||
# the same type (for instance a group of public functions) to be put as a
|
||||
# subgroup of that type (e.g. under the Public Functions section). Set it to
|
||||
# NO to prevent subgrouping. Alternatively, this can be done per class using
|
||||
# the \nosubgrouping command.
|
||||
|
||||
SUBGROUPING = YES
|
||||
|
||||
# When TYPEDEF_HIDES_STRUCT is enabled, a typedef of a struct, union, or enum
|
||||
# is documented as struct, union, or enum 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 in case the coding convention dictates that all compound
|
||||
# types are typedef'ed and only the typedef is referenced, never the tag name.
|
||||
# When TYPEDEF_HIDES_STRUCT is enabled, a typedef of a struct, union,
|
||||
# or enum is documented as struct, union, or enum 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
|
||||
# in case the coding convention dictates that all compound types are
|
||||
# typedef'ed and only the typedef is referenced, never the tag name.
|
||||
|
||||
TYPEDEF_HIDES_STRUCT = NO
|
||||
|
||||
|
@ -362,12 +373,11 @@ HIDE_IN_BODY_DOCS = NO
|
|||
|
||||
INTERNAL_DOCS = NO
|
||||
|
||||
# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only
|
||||
# generate file names in lower-case letters. If set to YES upper-case
|
||||
# letters are also allowed. This is useful if you have classes or
|
||||
# files whose names only differ in case and if your file system
|
||||
# supports case sensitive file names. Windows and Mac users are
|
||||
# advised to set this option to NO.
|
||||
# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate
|
||||
# file names in lower-case letters. If set to YES upper-case letters are also
|
||||
# allowed. This is useful if you have classes or files whose names only differ
|
||||
# in case and if your file system supports case sensitive file names. Windows
|
||||
# and Mac users are advised to set this option to NO.
|
||||
|
||||
CASE_SENSE_NAMES = NO
|
||||
|
||||
|
@ -402,9 +412,9 @@ SORT_MEMBER_DOCS = YES
|
|||
|
||||
SORT_BRIEF_DOCS = YES
|
||||
|
||||
# If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the
|
||||
# hierarchy of group names into alphabetical order. If set to NO (the
|
||||
# default) the group names will appear in their defined order.
|
||||
# If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the
|
||||
# hierarchy of group names into alphabetical order. If set to NO (the default)
|
||||
# the group names will appear in their defined order.
|
||||
|
||||
SORT_GROUP_NAMES = NO
|
||||
|
||||
|
@ -412,7 +422,7 @@ SORT_GROUP_NAMES = NO
|
|||
# sorted by fully-qualified names, including namespaces. If set to
|
||||
# NO (the default), the class list will be sorted only by class name,
|
||||
# not including the namespace part.
|
||||
# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES.
|
||||
# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES.
|
||||
# Note: This option applies only to the class list, not to the
|
||||
# alphabetical list.
|
||||
|
||||
|
@ -447,14 +457,13 @@ GENERATE_DEPRECATEDLIST= YES
|
|||
|
||||
ENABLED_SECTIONS = @enabled_sections@
|
||||
|
||||
# The MAX_INITIALIZER_LINES tag determines the maximum number of lines
|
||||
# the initial value of a variable or define consists of for it to
|
||||
# appear in the documentation. If the initializer consists of more
|
||||
# lines than specified here it will be hidden. Use a value of 0 to
|
||||
# hide initializers completely. The appearance of the initializer of
|
||||
# individual variables and defines in the documentation can be
|
||||
# controlled using \showinitializer or \hideinitializer command in the
|
||||
# documentation regardless of this setting.
|
||||
# The MAX_INITIALIZER_LINES tag determines the maximum number of lines
|
||||
# the initial value of a variable or define consists of for it to appear in
|
||||
# the documentation. If the initializer consists of more lines than specified
|
||||
# here it will be hidden. Use a value of 0 to hide initializers completely.
|
||||
# The appearance of the initializer of individual variables and defines in the
|
||||
# documentation can be controlled using \showinitializer or \hideinitializer
|
||||
# command in the documentation regardless of this setting.
|
||||
|
||||
MAX_INITIALIZER_LINES = 0
|
||||
|
||||
|
@ -470,14 +479,15 @@ SHOW_USED_FILES = YES
|
|||
|
||||
SHOW_DIRECTORIES = YES
|
||||
|
||||
# Set the SHOW_FILES tag to NO to disable the generation of the Files page.
|
||||
# Set the SHOW_FILES tag to NO to disable the generation of the Files page.
|
||||
# This will remove the Files entry from the Quick Index and from the
|
||||
# Folder Tree View (if specified). The default is YES.
|
||||
|
||||
SHOW_FILES = YES
|
||||
|
||||
# Set the SHOW_NAMESPACES tag to NO to disable the generation of the
|
||||
# Namespaces page. This will remove the Namespaces entry from the Quick Index
|
||||
# Namespaces page.
|
||||
# This will remove the Namespaces entry from the Quick Index
|
||||
# and from the Folder Tree View (if specified). The default is YES.
|
||||
|
||||
SHOW_NAMESPACES = YES
|
||||
|
@ -531,11 +541,11 @@ WARN_IF_UNDOCUMENTED = NO
|
|||
|
||||
WARN_IF_DOC_ERROR = NO
|
||||
|
||||
# This WARN_NO_PARAMDOC option can be abled to get warnings for
|
||||
# functions that are documented, but have no documentation for their
|
||||
# parameters or return value. If set to NO (the default) doxygen will
|
||||
# only warn about wrong or incomplete parameter documentation, but not
|
||||
# about the absence of documentation.
|
||||
# This WARN_NO_PARAMDOC option can be abled to get warnings for
|
||||
# functions that are documented, but have no documentation for their parameters
|
||||
# or return value. If set to NO (the default) doxygen will only warn about
|
||||
# wrong or incomplete parameter documentation, but not about the absence of
|
||||
# documentation.
|
||||
|
||||
WARN_NO_PARAMDOC = NO
|
||||
|
||||
|
@ -716,21 +726,20 @@ INPUT = @srcdir@/libsupc++/cxxabi.h \
|
|||
include/ext/pb_ds/detail \
|
||||
@srcdir@/doc/doxygen/doxygroups.cc
|
||||
|
||||
# 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.
|
||||
# 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
|
||||
|
||||
# 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
|
||||
# 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
|
||||
|
||||
FILE_PATTERNS = *.h \
|
||||
*.hpp \
|
||||
|
@ -805,14 +814,17 @@ IMAGE_PATH =
|
|||
# by executing (via popen()) the command <filter> <input-file>, where <filter>
|
||||
# is the value of the INPUT_FILTER tag, and <input-file> is the name of an
|
||||
# input file. Doxygen will then use the output that the filter program writes
|
||||
# to standard output. If FILTER_PATTERNS is specified, this tag will be
|
||||
# to standard output.
|
||||
# If FILTER_PATTERNS is specified, this tag will be
|
||||
# ignored.
|
||||
|
||||
INPUT_FILTER =
|
||||
|
||||
# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern
|
||||
# basis. Doxygen will compare the file name with each pattern and apply the
|
||||
# filter if there is a match. The filters are a list of the form:
|
||||
# basis.
|
||||
# Doxygen will compare the file name with each pattern and apply the
|
||||
# filter if there is a match.
|
||||
# The filters are a list of the form:
|
||||
# pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further
|
||||
# info on how filters are used. If FILTER_PATTERNS is empty, INPUT_FILTER
|
||||
# is applied to all files.
|
||||
|
@ -859,10 +871,11 @@ REFERENCED_BY_RELATION = YES
|
|||
|
||||
REFERENCES_RELATION = YES
|
||||
|
||||
# If the REFERENCES_LINK_SOURCE tag is set to YES (the default)
|
||||
# and SOURCE_BROWSER tag is set to YES, then the hyperlinks from
|
||||
# functions in REFERENCES_RELATION and REFERENCED_BY_RELATION lists will
|
||||
# link to the source code. Otherwise they will link to the documentstion.
|
||||
# If the REFERENCES_LINK_SOURCE tag is set to YES (the default)
|
||||
# and SOURCE_BROWSER tag is set to YES, then the hyperlinks from
|
||||
# functions in REFERENCES_RELATION and REFERENCED_BY_RELATION lists will
|
||||
# link to the source code.
|
||||
# Otherwise they will link to the documentation.
|
||||
|
||||
REFERENCES_LINK_SOURCE = YES
|
||||
|
||||
|
@ -1013,8 +1026,8 @@ HHC_LOCATION =
|
|||
|
||||
GENERATE_CHI = NO
|
||||
|
||||
# If the GENERATE_HTMLHELP tag is set to YES, the CHM_INDEX_ENCODING
|
||||
# is used to encode HtmlHelp index (hhk), content (hhc) and project file
|
||||
# If the GENERATE_HTMLHELP tag is set to YES, the CHM_INDEX_ENCODING
|
||||
# is used to encode HtmlHelp index (hhk), content (hhc) and project file
|
||||
# content.
|
||||
|
||||
CHM_INDEX_ENCODING =
|
||||
|
@ -1044,25 +1057,42 @@ GENERATE_QHP = NO
|
|||
|
||||
QCH_FILE =
|
||||
|
||||
# The QHP_NAMESPACE tag specifies the namespace to use when generating
|
||||
# Qt Help Project output. For more information please see <a
|
||||
# href="http://doc.trolltech.com/qthelpproject.html#namespace">Qt Help
|
||||
# Project / Namespace</a>.
|
||||
# The QHP_NAMESPACE tag specifies the namespace to use when generating
|
||||
# Qt Help Project output. For more information please see
|
||||
# http://doc.trolltech.com/qthelpproject.html#namespace
|
||||
|
||||
QHP_NAMESPACE = org.doxygen.Project
|
||||
|
||||
# The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when
|
||||
# generating Qt Help Project output. For more information please see
|
||||
# <a
|
||||
# href="http://doc.trolltech.com/qthelpproject.html#virtual-folders">Qt
|
||||
# Help Project / Virtual Folders</a>.
|
||||
# The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating
|
||||
# Qt Help Project output. For more information please see
|
||||
# http://doc.trolltech.com/qthelpproject.html#virtual-folders
|
||||
|
||||
QHP_VIRTUAL_FOLDER = doc
|
||||
|
||||
# If QHP_CUST_FILTER_NAME is set, it specifies the name of a custom
|
||||
# filter to add. For more information please see
|
||||
# http://doc.trolltech.com/qthelpproject.html#custom-filters
|
||||
|
||||
QHP_CUST_FILTER_NAME =
|
||||
|
||||
# The QHP_CUST_FILT_ATTRS tag specifies the list of the attributes of
|
||||
# the custom filter to add.For more information please see <a
|
||||
# href="http://doc.trolltech.com/qthelpproject.html#custom-filters">Qt
|
||||
# Help Project / Custom Filters</a>.
|
||||
|
||||
QHP_CUST_FILTER_ATTRS =
|
||||
|
||||
# The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes
|
||||
# this project's filter section matches. <a
|
||||
# href="http://doc.trolltech.com/qthelpproject.html#filter-attributes">Qt
|
||||
# Help Project / Filter Attributes</a>.
|
||||
|
||||
QHP_SECT_FILTER_ATTRS =
|
||||
|
||||
# If the GENERATE_QHP tag is set to YES, the QHG_LOCATION tag can
|
||||
# be used to specify the location of Qt's qhelpgenerator.
|
||||
# If non-empty doxygen will try to run qhelpgenerator on the generated
|
||||
# .qhp file .
|
||||
# .qhp file.
|
||||
|
||||
QHG_LOCATION =
|
||||
|
||||
|
@ -1077,21 +1107,20 @@ DISABLE_INDEX = YES
|
|||
|
||||
ENUM_VALUES_PER_LINE = 4
|
||||
|
||||
# The GENERATE_TREEVIEW tag is used to specify whether a tree-like
|
||||
# index structure should be generated to display hierarchical
|
||||
# information. If the tag value is set to FRAME, a side panel will be
|
||||
# generated containing a tree-like index structure (just like the one
|
||||
# that is generated for HTML Help). For this to work a browser that
|
||||
# supports JavaScript, DHTML, CSS and frames is required (for instance
|
||||
# Mozilla 1.0+, Netscape 6.0+, Internet explorer 5.0+, or
|
||||
# Konqueror). Windows users are probably better off using the HTML
|
||||
# help feature. Other possible values for this tag are: HIERARCHIES,
|
||||
# which will generate the Groups, Directories, and Class Hierarchy
|
||||
# pages using a tree view instead of an ordered list; ALL, which
|
||||
# combines the behavior of FRAME and HIERARCHIES; and NONE, which
|
||||
# disables this behavior completely. For backwards compatibility with
|
||||
# previous releases of Doxygen, the values YES and NO are equivalent
|
||||
# to FRAME and NONE respectively.
|
||||
# The GENERATE_TREEVIEW tag is used to specify whether a tree-like index
|
||||
# structure should be generated to display hierarchical information.
|
||||
# If the tag value is set to FRAME, a side panel will be generated
|
||||
# containing a tree-like index structure (just like the one that
|
||||
# is generated for HTML Help). For this to work a browser that supports
|
||||
# JavaScript, DHTML, CSS and frames is required (for instance Mozilla 1.0+,
|
||||
# Netscape 6.0+, Internet explorer 5.0+, or Konqueror). Windows users are
|
||||
# probably better off using the HTML help feature. Other possible values
|
||||
# for this tag are: HIERARCHIES, which will generate the Groups, Directories,
|
||||
# and Class Hierarchy pages using a tree view instead of an ordered list;
|
||||
# ALL, which combines the behavior of FRAME and HIERARCHIES; and NONE, which
|
||||
# disables this behavior completely. For backwards compatibility with previous
|
||||
# releases of Doxygen, the values YES and NO are equivalent to FRAME and NONE
|
||||
# respectively.
|
||||
|
||||
GENERATE_TREEVIEW = YES
|
||||
|
||||
|
@ -1321,8 +1350,10 @@ GENERATE_PERLMOD = NO
|
|||
PERLMOD_LATEX = NO
|
||||
|
||||
# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be
|
||||
# nicely formatted so it can be parsed by a human reader. This is useful
|
||||
# if you want to understand what is going on. On the other hand, if this
|
||||
# nicely formatted so it can be parsed by a human reader.
|
||||
# This is useful
|
||||
# if you want to understand what is going on.
|
||||
# On the other hand, if this
|
||||
# tag is set to NO the size of the Perl module output will be much smaller
|
||||
# and Perl will parse it just the same.
|
||||
|
||||
|
@ -1410,10 +1441,11 @@ PREDEFINED = __cplusplus \
|
|||
__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 =
|
||||
|
||||
|
@ -1433,14 +1465,16 @@ SKIP_FUNCTION_MACROS = YES
|
|||
# Optionally an initial location of the external documentation
|
||||
# can be added for each tagfile. The format of a tag file without
|
||||
# this location is as follows:
|
||||
# TAGFILES = file1 file2 ...
|
||||
#
|
||||
# TAGFILES = file1 file2 ...
|
||||
# Adding location for the tag files is done as follows:
|
||||
# TAGFILES = file1=loc1 "file2 = loc2" ...
|
||||
#
|
||||
# TAGFILES = file1=loc1 "file2 = loc2" ...
|
||||
# where "loc1" and "loc2" can be relative or absolute paths or
|
||||
# URLs. If a location is present for each tag, the installdox tool
|
||||
# does not have to be run to correct the links.
|
||||
# Note that each tag file must have a unique name
|
||||
# (where the name does NOT include the path)
|
||||
# does not have to be run to correct the links.
|
||||
# Note that each tag file must have a unique name
|
||||
# (where the name does NOT include the path)
|
||||
# If a tag file is not located in the directory in which doxygen
|
||||
# is run, you must also specify the path to the tagfile here.
|
||||
|
||||
|
@ -1481,12 +1515,12 @@ 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.
|
||||
# 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 =
|
||||
|
||||
|
@ -1594,13 +1628,13 @@ GRAPHICAL_HIERARCHY = YES
|
|||
|
||||
# If the DIRECTORY_GRAPH, SHOW_DIRECTORIES and HAVE_DOT tags are set to YES
|
||||
# then doxygen will show the dependencies a directory has on other directories
|
||||
# in a graphical way. The dependency relations are determined by the #include
|
||||
# in a graphical way. The dependency relations are determined by the #include
|
||||
# relations between the files in the directories.
|
||||
|
||||
DIRECTORY_GRAPH = YES
|
||||
|
||||
# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images
|
||||
# generated by dot. Possible values are png, jpg, or gif
|
||||
# generated by dot. Possible values are png, jpg, or gif
|
||||
# If left blank png will be used.
|
||||
|
||||
DOT_IMAGE_FORMAT = png
|
||||
|
@ -1664,7 +1698,7 @@ GENERATE_LEGEND = NO
|
|||
DOT_CLEANUP = YES
|
||||
|
||||
#---------------------------------------------------------------------------
|
||||
# Configuration::additions related to the search engine
|
||||
# Options related to the search engine
|
||||
#---------------------------------------------------------------------------
|
||||
|
||||
# The SEARCHENGINE tag specifies whether or not a search engine should be
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
// Functor implementations -*- C++ -*-
|
||||
|
||||
// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007
|
||||
// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2009
|
||||
// Free Software Foundation, Inc.
|
||||
//
|
||||
// This file is part of the GNU ISO C++ Library. This library is free
|
||||
|
@ -65,7 +65,9 @@
|
|||
_GLIBCXX_BEGIN_NAMESPACE(std)
|
||||
|
||||
// 20.3.6 binders
|
||||
/** @defgroup s20_3_6_binder Binder Classes
|
||||
/** @defgroup binder Binder Classes
|
||||
* @ingroup functors
|
||||
*
|
||||
* Binders turn functions/functors with two arguments into functors with
|
||||
* a single argument, storing an argument to be applied later. For
|
||||
* example, a variable @c B of type @c binder1st is constructed from a
|
||||
|
@ -95,7 +97,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
|
|||
*
|
||||
* @{
|
||||
*/
|
||||
/// One of the @link s20_3_6_binder binder functors@endlink.
|
||||
/// One of the @link binder binder functors@endlink.
|
||||
template<typename _Operation>
|
||||
class binder1st
|
||||
: public unary_function<typename _Operation::second_argument_type,
|
||||
|
@ -121,7 +123,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
|
|||
{ return op(value, __x); }
|
||||
} _GLIBCXX_DEPRECATED_ATTR;
|
||||
|
||||
/// One of the @link s20_3_6_binder binder functors@endlink.
|
||||
/// One of the @link binder binder functors@endlink.
|
||||
template<typename _Operation, typename _Tp>
|
||||
inline binder1st<_Operation>
|
||||
bind1st(const _Operation& __fn, const _Tp& __x)
|
||||
|
@ -130,7 +132,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
|
|||
return binder1st<_Operation>(__fn, _Arg1_type(__x));
|
||||
}
|
||||
|
||||
/// One of the @link s20_3_6_binder binder functors@endlink.
|
||||
/// One of the @link binder binder functors@endlink.
|
||||
template<typename _Operation>
|
||||
class binder2nd
|
||||
: public unary_function<typename _Operation::first_argument_type,
|
||||
|
@ -156,7 +158,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
|
|||
{ return op(__x, value); }
|
||||
} _GLIBCXX_DEPRECATED_ATTR;
|
||||
|
||||
/// One of the @link s20_3_6_binder binder functors@endlink.
|
||||
/// One of the @link binder binder functors@endlink.
|
||||
template<typename _Operation, typename _Tp>
|
||||
inline binder2nd<_Operation>
|
||||
bind2nd(const _Operation& __fn, const _Tp& __x)
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
// <algorithm> declarations -*- C++ -*-
|
||||
|
||||
// Copyright (C) 2007, 2008 Free Software Foundation, Inc.
|
||||
// Copyright (C) 2007, 2008, 2009 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
|
||||
|
@ -23,90 +23,6 @@
|
|||
* You should not attempt to use it directly.
|
||||
*/
|
||||
|
||||
/*
|
||||
adjacent_find
|
||||
all_of (C++0x)
|
||||
any_of (C++0x)
|
||||
binary_search
|
||||
copy
|
||||
copy_backward
|
||||
copy_if (C++0x)
|
||||
copy_n (C++0x)
|
||||
count
|
||||
count_if
|
||||
equal
|
||||
equal_range
|
||||
fill
|
||||
fill_n
|
||||
find
|
||||
find_end
|
||||
find_first_of
|
||||
find_if
|
||||
find_if_not (C++0x)
|
||||
for_each
|
||||
generate
|
||||
generate_n
|
||||
includes
|
||||
inplace_merge
|
||||
is_heap (C++0x)
|
||||
is_heap_until (C++0x)
|
||||
is_partitioned (C++0x)
|
||||
is_sorted (C++0x)
|
||||
is_sorted_until (C++0x)
|
||||
iter_swap
|
||||
lexicographical_compare
|
||||
lower_bound
|
||||
make_heap
|
||||
max
|
||||
max_element
|
||||
merge
|
||||
min
|
||||
min_element
|
||||
minmax (C++0x)
|
||||
minmax_element (C++0x)
|
||||
mismatch
|
||||
next_permutation
|
||||
none_of (C++0x)
|
||||
nth_element
|
||||
partial_sort
|
||||
partial_sort_copy
|
||||
partition
|
||||
partition_copy (C++0x)
|
||||
partition_point (C++0x)
|
||||
pop_heap
|
||||
prev_permutation
|
||||
push_heap
|
||||
random_shuffle
|
||||
remove
|
||||
remove_copy
|
||||
remove_copy_if
|
||||
remove_if
|
||||
replace
|
||||
replace_copy
|
||||
replace_copy_if
|
||||
replace_if
|
||||
reverse
|
||||
reverse_copy
|
||||
rotate
|
||||
rotate_copy
|
||||
search
|
||||
search_n
|
||||
set_difference
|
||||
set_intersection
|
||||
set_symmetric_difference
|
||||
set_union
|
||||
sort
|
||||
sort_heap
|
||||
stable_partition
|
||||
stable_sort
|
||||
swap
|
||||
swap_ranges
|
||||
transform
|
||||
unique
|
||||
unique_copy
|
||||
upper_bound
|
||||
*/
|
||||
|
||||
#ifndef _GLIBCXX_ALGORITHMFWD_H
|
||||
#define _GLIBCXX_ALGORITHMFWD_H 1
|
||||
|
||||
|
@ -119,6 +35,135 @@
|
|||
|
||||
_GLIBCXX_BEGIN_NAMESPACE(std)
|
||||
|
||||
/*
|
||||
adjacent_find
|
||||
all_of (C++0x)
|
||||
any_of (C++0x)
|
||||
binary_search
|
||||
copy
|
||||
copy_backward
|
||||
copy_if (C++0x)
|
||||
copy_n (C++0x)
|
||||
count
|
||||
count_if
|
||||
equal
|
||||
equal_range
|
||||
fill
|
||||
fill_n
|
||||
find
|
||||
find_end
|
||||
find_first_of
|
||||
find_if
|
||||
find_if_not (C++0x)
|
||||
for_each
|
||||
generate
|
||||
generate_n
|
||||
includes
|
||||
inplace_merge
|
||||
is_heap (C++0x)
|
||||
is_heap_until (C++0x)
|
||||
is_partitioned (C++0x)
|
||||
is_sorted (C++0x)
|
||||
is_sorted_until (C++0x)
|
||||
iter_swap
|
||||
lexicographical_compare
|
||||
lower_bound
|
||||
make_heap
|
||||
max
|
||||
max_element
|
||||
merge
|
||||
min
|
||||
min_element
|
||||
minmax (C++0x)
|
||||
minmax_element (C++0x)
|
||||
mismatch
|
||||
next_permutation
|
||||
none_of (C++0x)
|
||||
nth_element
|
||||
partial_sort
|
||||
partial_sort_copy
|
||||
partition
|
||||
partition_copy (C++0x)
|
||||
partition_point (C++0x)
|
||||
pop_heap
|
||||
prev_permutation
|
||||
push_heap
|
||||
random_shuffle
|
||||
remove
|
||||
remove_copy
|
||||
remove_copy_if
|
||||
remove_if
|
||||
replace
|
||||
replace_copy
|
||||
replace_copy_if
|
||||
replace_if
|
||||
reverse
|
||||
reverse_copy
|
||||
rotate
|
||||
rotate_copy
|
||||
search
|
||||
search_n
|
||||
set_difference
|
||||
set_intersection
|
||||
set_symmetric_difference
|
||||
set_union
|
||||
sort
|
||||
sort_heap
|
||||
stable_partition
|
||||
stable_sort
|
||||
swap
|
||||
swap_ranges
|
||||
transform
|
||||
unique
|
||||
unique_copy
|
||||
upper_bound
|
||||
*/
|
||||
|
||||
/**
|
||||
* @defgroup algorithms Algorithms
|
||||
*
|
||||
* Components for performing algorithmic operations. Includes
|
||||
* non-modifying sequence, modifying (mutating) sequence, sorting,
|
||||
* searching, merge, partition, heap, set, minima, maxima, and
|
||||
* permutation operations.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @defgroup set_algorithms Set Operation Algorithms
|
||||
* @ingroup algorithms
|
||||
*
|
||||
* These algorithms are common set operations performed on sequences
|
||||
* that are already sorted. The number of comparisons will be
|
||||
* linear.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @defgroup binary_search_algorithms Binary Search Algorithms
|
||||
* @ingroup algorithms
|
||||
*
|
||||
* These algorithms are variations of a classic binary search, and
|
||||
* all assume that the sequence being searched is already sorted.
|
||||
*
|
||||
* The number of comparisons will be logarithmic (and as few as
|
||||
* possible). The number of steps through the sequence will be
|
||||
* logarithmic for random-access iterators (e.g., pointers), and
|
||||
* linear otherwise.
|
||||
*
|
||||
* The LWG has passed Defect Report 270, which notes: <em>The
|
||||
* proposed resolution reinterprets binary search. Instead of
|
||||
* thinking about searching for a value in a sorted range, we view
|
||||
* that as an important special case of a more general algorithm:
|
||||
* searching for the partition point in a partitioned range. We
|
||||
* also add a guarantee that the old wording did not: we ensure that
|
||||
* the upper bound is no earlier than the lower bound, that the pair
|
||||
* returned by equal_range is a valid range, and that the first part
|
||||
* of that pair is the lower bound.</em>
|
||||
*
|
||||
* The actual effect of the first sentence is that a comparison
|
||||
* functor passed by the user doesn't necessarily need to induce a
|
||||
* strict weak ordering relation. Rather, it partitions the range.
|
||||
*/
|
||||
|
||||
// adjacent_find
|
||||
|
||||
#ifdef __GXX_EXPERIMENTAL_CXX0X__
|
||||
|
|
|
@ -53,8 +53,8 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
|
|||
* @class basic_string basic_string.h <string>
|
||||
* @brief Managing sequences of characters and character-like objects.
|
||||
*
|
||||
* @ingroup Containers
|
||||
* @ingroup Sequences
|
||||
* @ingroup containers
|
||||
* @ingroup sequences
|
||||
*
|
||||
* Meets the requirements of a <a href="tables.html#65">container</a>, a
|
||||
* <a href="tables.html#66">reversible container</a>, and a
|
||||
|
|
|
@ -400,8 +400,8 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
|
|||
* @brief A standard container with linear time access to elements,
|
||||
* and fixed time insertion/deletion at any point in the sequence.
|
||||
*
|
||||
* @ingroup Containers
|
||||
* @ingroup Sequences
|
||||
* @ingroup containers
|
||||
* @ingroup sequences
|
||||
*
|
||||
* Meets the requirements of a <a href="tables.html#65">container</a>, a
|
||||
* <a href="tables.html#67">sequence</a>, including the
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
// Algorithm implementation -*- C++ -*-
|
||||
|
||||
// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
|
||||
// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
|
||||
// Free Software Foundation, Inc.
|
||||
//
|
||||
// This file is part of the GNU ISO C++ Library. This library is free
|
||||
|
@ -73,6 +73,11 @@
|
|||
|
||||
_GLIBCXX_BEGIN_NAMESPACE(std)
|
||||
|
||||
/**
|
||||
* @addtogroup algorithms Algorithms
|
||||
* @{
|
||||
*/
|
||||
|
||||
/**
|
||||
* @brief Find the median of three values.
|
||||
* @param a A value.
|
||||
|
@ -2394,7 +2399,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
|
|||
* @return An iterator pointing to the first element "not less
|
||||
* than" @a val, or end() if every element is less than
|
||||
* @a val.
|
||||
* @ingroup binarysearch
|
||||
* @ingroup binary_search_algorithms
|
||||
*/
|
||||
template<typename _ForwardIterator, typename _Tp>
|
||||
_ForwardIterator
|
||||
|
@ -2441,7 +2446,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
|
|||
* @param comp A functor to use for comparisons.
|
||||
* @return An iterator pointing to the first element "not less than" @a val,
|
||||
* or end() if every element is less than @a val.
|
||||
* @ingroup binarysearch
|
||||
* @ingroup binary_search_algorithms
|
||||
*
|
||||
* The comparison function should have the same effects on ordering as
|
||||
* the function used for the initial sort.
|
||||
|
@ -2492,7 +2497,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
|
|||
* @param val The search term.
|
||||
* @return An iterator pointing to the first element greater than @a val,
|
||||
* or end() if no elements are greater than @a val.
|
||||
* @ingroup binarysearch
|
||||
* @ingroup binary_search_algorithms
|
||||
*/
|
||||
template<typename _ForwardIterator, typename _Tp>
|
||||
_ForwardIterator
|
||||
|
@ -2539,7 +2544,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
|
|||
* @param comp A functor to use for comparisons.
|
||||
* @return An iterator pointing to the first element greater than @a val,
|
||||
* or end() if no elements are greater than @a val.
|
||||
* @ingroup binarysearch
|
||||
* @ingroup binary_search_algorithms
|
||||
*
|
||||
* The comparison function should have the same effects on ordering as
|
||||
* the function used for the initial sort.
|
||||
|
@ -2589,7 +2594,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
|
|||
* @param last Another iterator.
|
||||
* @param val The search term.
|
||||
* @return An pair of iterators defining the subrange.
|
||||
* @ingroup binarysearch
|
||||
* @ingroup binary_search_algorithms
|
||||
*
|
||||
* This is equivalent to
|
||||
* @code
|
||||
|
@ -2651,7 +2656,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
|
|||
* @param val The search term.
|
||||
* @param comp A functor to use for comparisons.
|
||||
* @return An pair of iterators defining the subrange.
|
||||
* @ingroup binarysearch
|
||||
* @ingroup binary_search_algorithms
|
||||
*
|
||||
* This is equivalent to
|
||||
* @code
|
||||
|
@ -2716,7 +2721,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
|
|||
* @param last Another iterator.
|
||||
* @param val The search term.
|
||||
* @return True if @a val (or its equivalent) is in [@a first,@a last ].
|
||||
* @ingroup binarysearch
|
||||
* @ingroup binary_search_algorithms
|
||||
*
|
||||
* Note that this does not actually return an iterator to @a val. For
|
||||
* that, use std::find or a container's specialized find member functions.
|
||||
|
@ -2746,7 +2751,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
|
|||
* @param val The search term.
|
||||
* @param comp A functor to use for comparisons.
|
||||
* @return True if @a val (or its equivalent) is in [@a first,@a last ].
|
||||
* @ingroup binarysearch
|
||||
* @ingroup binary_search_algorithms
|
||||
*
|
||||
* Note that this does not actually return an iterator to @a val. For
|
||||
* that, use std::find or a container's specialized find member functions.
|
||||
|
@ -3432,7 +3437,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
|
|||
* @param last2 End of sequence.
|
||||
* @return True if each element in [first2,last2) is contained in order
|
||||
* within [first1,last1). False otherwise.
|
||||
* @ingroup setoperations
|
||||
* @ingroup set_algorithms
|
||||
*
|
||||
* This operation expects both [first1,last1) and [first2,last2) to be
|
||||
* sorted. Searches for the presence of each element in [first2,last2)
|
||||
|
@ -3479,7 +3484,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
|
|||
* @param comp Comparison function to use.
|
||||
* @return True if each element in [first2,last2) is contained in order
|
||||
* within [first1,last1) according to comp. False otherwise.
|
||||
* @ingroup setoperations
|
||||
* @ingroup set_algorithms
|
||||
*
|
||||
* This operation expects both [first1,last1) and [first2,last2) to be
|
||||
* sorted. Searches for the presence of each element in [first2,last2)
|
||||
|
@ -3932,7 +3937,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
|
|||
* @brief Determines min and max at once as an ordered pair.
|
||||
* @param a A thing of arbitrary type.
|
||||
* @param b Another thing of arbitrary type.
|
||||
* @param comp A @link s20_3_3_comparisons comparison functor@endlink.
|
||||
* @param comp A @link comparison_functor comparison functor@endlink.
|
||||
* @return A pair(b, a) if b is smaller than a, pair(a, b) otherwise.
|
||||
*/
|
||||
template<typename _Tp, typename _Compare>
|
||||
|
@ -4134,10 +4139,17 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
|
|||
}
|
||||
#endif // __GXX_EXPERIMENTAL_CXX0X__
|
||||
|
||||
/* @} */ // group algorithms
|
||||
|
||||
_GLIBCXX_END_NAMESPACE
|
||||
|
||||
_GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_P)
|
||||
|
||||
/**
|
||||
* @addtogroup algorithms Algorithms
|
||||
* @{
|
||||
*/
|
||||
|
||||
/**
|
||||
* @brief Apply a function to every element of a sequence.
|
||||
* @param first An input iterator.
|
||||
|
@ -5406,7 +5418,7 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_P)
|
|||
* @param first2 Start of second range.
|
||||
* @param last2 End of second range.
|
||||
* @return End of the output range.
|
||||
* @ingroup setoperations
|
||||
* @ingroup set_algorithms
|
||||
*
|
||||
* This operation iterates over both ranges, copying elements present in
|
||||
* each range in order to the output range. Iterators increment for each
|
||||
|
@ -5472,7 +5484,7 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_P)
|
|||
* @param last2 End of second range.
|
||||
* @param comp The comparison functor.
|
||||
* @return End of the output range.
|
||||
* @ingroup setoperations
|
||||
* @ingroup set_algorithms
|
||||
*
|
||||
* This operation iterates over both ranges, copying elements present in
|
||||
* each range in order to the output range. Iterators increment for each
|
||||
|
@ -5539,7 +5551,7 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_P)
|
|||
* @param first2 Start of second range.
|
||||
* @param last2 End of second range.
|
||||
* @return End of the output range.
|
||||
* @ingroup setoperations
|
||||
* @ingroup set_algorithms
|
||||
*
|
||||
* This operation iterates over both ranges, copying elements present in
|
||||
* both ranges in order to the output range. Iterators increment for each
|
||||
|
@ -5594,7 +5606,7 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_P)
|
|||
* @param last2 End of second range.
|
||||
* @param comp The comparison functor.
|
||||
* @return End of the output range.
|
||||
* @ingroup setoperations
|
||||
* @ingroup set_algorithms
|
||||
*
|
||||
* This operation iterates over both ranges, copying elements present in
|
||||
* both ranges in order to the output range. Iterators increment for each
|
||||
|
@ -5650,7 +5662,7 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_P)
|
|||
* @param first2 Start of second range.
|
||||
* @param last2 End of second range.
|
||||
* @return End of the output range.
|
||||
* @ingroup setoperations
|
||||
* @ingroup set_algorithms
|
||||
*
|
||||
* This operation iterates over both ranges, copying elements present in
|
||||
* the first range but not the second in order to the output range.
|
||||
|
@ -5709,7 +5721,7 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_P)
|
|||
* @param last2 End of second range.
|
||||
* @param comp The comparison functor.
|
||||
* @return End of the output range.
|
||||
* @ingroup setoperations
|
||||
* @ingroup set_algorithms
|
||||
*
|
||||
* This operation iterates over both ranges, copying elements present in
|
||||
* the first range but not the second in order to the output range.
|
||||
|
@ -5769,7 +5781,7 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_P)
|
|||
* @param first2 Start of second range.
|
||||
* @param last2 End of second range.
|
||||
* @return End of the output range.
|
||||
* @ingroup setoperations
|
||||
* @ingroup set_algorithms
|
||||
*
|
||||
* This operation iterates over both ranges, copying elements present in
|
||||
* one range but not the other in order to the output range. Iterators
|
||||
|
@ -5833,7 +5845,7 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_P)
|
|||
* @param last2 End of second range.
|
||||
* @param comp The comparison functor.
|
||||
* @return End of the output range.
|
||||
* @ingroup setoperations
|
||||
* @ingroup set_algorithms
|
||||
*
|
||||
* This operation iterates over both ranges, copying elements present in
|
||||
* one range but not the other in order to the output range. Iterators
|
||||
|
@ -6000,6 +6012,8 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_P)
|
|||
return __result;
|
||||
}
|
||||
|
||||
/* @} */ // group algorithms
|
||||
|
||||
_GLIBCXX_END_NESTED_NAMESPACE
|
||||
|
||||
#endif /* _STL_ALGO_H */
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
// Core algorithmic facilities -*- C++ -*-
|
||||
|
||||
// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
|
||||
// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
|
||||
// Free Software Foundation, Inc.
|
||||
//
|
||||
// This file is part of the GNU ISO C++ Library. This library is free
|
||||
|
@ -78,6 +78,11 @@
|
|||
|
||||
_GLIBCXX_BEGIN_NAMESPACE(std)
|
||||
|
||||
/**
|
||||
* @addtogroup algorithms Algorithms
|
||||
* @{
|
||||
*/
|
||||
|
||||
// See http://gcc.gnu.org/ml/libstdc++/2004-08/msg00167.html: in a
|
||||
// nutshell, we are partially implementing the resolution of DR 187,
|
||||
// when it's safe, i.e., the value_types are equal.
|
||||
|
@ -221,7 +226,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
|
|||
* @brief This does what you think it does.
|
||||
* @param a A thing of arbitrary type.
|
||||
* @param b Another thing of arbitrary type.
|
||||
* @param comp A @link s20_3_3_comparisons comparison functor@endlink.
|
||||
* @param comp A @link comparison_functors comparison functor@endlink.
|
||||
* @return The lesser of the parameters.
|
||||
*
|
||||
* This will work on temporary expressions, since they are only evaluated
|
||||
|
@ -241,7 +246,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
|
|||
* @brief This does what you think it does.
|
||||
* @param a A thing of arbitrary type.
|
||||
* @param b Another thing of arbitrary type.
|
||||
* @param comp A @link s20_3_3_comparisons comparison functor@endlink.
|
||||
* @param comp A @link comparison_functors comparison functor@endlink.
|
||||
* @return The greater of the parameters.
|
||||
*
|
||||
* This will work on temporary expressions, since they are only evaluated
|
||||
|
@ -924,10 +929,17 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
|
|||
__first2, __last2);
|
||||
}
|
||||
|
||||
/* @} */ // group algorithms
|
||||
|
||||
_GLIBCXX_END_NAMESPACE
|
||||
|
||||
_GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_P)
|
||||
|
||||
/**
|
||||
* @addtogroup algorithms Algorithms
|
||||
* @{
|
||||
*/
|
||||
|
||||
/**
|
||||
* @brief Tests a range for element-wise equality.
|
||||
* @param first1 An input iterator.
|
||||
|
@ -961,7 +973,7 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_P)
|
|||
* @param first1 An input iterator.
|
||||
* @param last1 An input iterator.
|
||||
* @param first2 An input iterator.
|
||||
* @param binary_pred A binary predicate @link s20_3_1_base
|
||||
* @param binary_pred A binary predicate @link functors
|
||||
* functor@endlink.
|
||||
* @return A boolean true or false.
|
||||
*
|
||||
|
@ -1028,7 +1040,7 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_P)
|
|||
* @param last1 An input iterator.
|
||||
* @param first2 An input iterator.
|
||||
* @param last2 An input iterator.
|
||||
* @param comp A @link s20_3_3_comparisons comparison functor@endlink.
|
||||
* @param comp A @link comparison_functors comparison functor@endlink.
|
||||
* @return A boolean true or false.
|
||||
*
|
||||
* The same as the four-parameter @c lexicographical_compare, but uses the
|
||||
|
@ -1099,7 +1111,7 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_P)
|
|||
* @param first1 An input iterator.
|
||||
* @param last1 An input iterator.
|
||||
* @param first2 An input iterator.
|
||||
* @param binary_pred A binary predicate @link s20_3_1_base
|
||||
* @param binary_pred A binary predicate @link functors
|
||||
* functor@endlink.
|
||||
* @return A pair of iterators pointing to the first mismatch.
|
||||
*
|
||||
|
@ -1128,6 +1140,8 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_P)
|
|||
return pair<_InputIterator1, _InputIterator2>(__first1, __first2);
|
||||
}
|
||||
|
||||
/* @} */ // group algorithms
|
||||
|
||||
_GLIBCXX_END_NESTED_NAMESPACE
|
||||
|
||||
// NB: This file is included within many other C++ includes, as a way
|
||||
|
|
|
@ -467,8 +467,8 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_D)
|
|||
* really references and pointers to bool. See DR96 for details. @see
|
||||
* vector for function documentation.
|
||||
*
|
||||
* @ingroup Containers
|
||||
* @ingroup Sequences
|
||||
* @ingroup containers
|
||||
* @ingroup sequences
|
||||
*
|
||||
* In some terminology a %vector can be described as a dynamic
|
||||
* C-style array, it offers fast and efficient access to individual
|
||||
|
|
|
@ -562,8 +562,8 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_D)
|
|||
* @brief A standard container using fixed-size memory allocation and
|
||||
* constant-time manipulation of elements at either end.
|
||||
*
|
||||
* @ingroup Containers
|
||||
* @ingroup Sequences
|
||||
* @ingroup containers
|
||||
* @ingroup sequences
|
||||
*
|
||||
* Meets the requirements of a <a href="tables.html#65">container</a>, a
|
||||
* <a href="tables.html#66">reversible container</a>, and a
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
// Functor implementations -*- C++ -*-
|
||||
|
||||
// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007
|
||||
// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2009
|
||||
// Free Software Foundation, Inc.
|
||||
//
|
||||
// This file is part of the GNU ISO C++ Library. This library is free
|
||||
|
@ -65,7 +65,9 @@
|
|||
_GLIBCXX_BEGIN_NAMESPACE(std)
|
||||
|
||||
// 20.3.1 base classes
|
||||
/** @defgroup s20_3_1_base Functor Base Classes
|
||||
/** @defgroup functors Function Objects
|
||||
* @ingroup utilities
|
||||
*
|
||||
* Function objects, or @e functors, are objects with an @c operator()
|
||||
* defined and accessible. They can be passed as arguments to algorithm
|
||||
* templates and used in place of a function pointer. Not only is the
|
||||
|
@ -97,7 +99,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
|
|||
* @{
|
||||
*/
|
||||
/**
|
||||
* This is one of the @link s20_3_1_base functor base classes@endlink.
|
||||
* This is one of the @link functors functor base classes@endlink.
|
||||
*/
|
||||
template<typename _Arg, typename _Result>
|
||||
struct unary_function
|
||||
|
@ -109,7 +111,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
|
|||
};
|
||||
|
||||
/**
|
||||
* This is one of the @link s20_3_1_base functor base classes@endlink.
|
||||
* This is one of the @link functors functor base classes@endlink.
|
||||
*/
|
||||
template<typename _Arg1, typename _Arg2, typename _Result>
|
||||
struct binary_function
|
||||
|
@ -123,16 +125,17 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
|
|||
/** @} */
|
||||
|
||||
// 20.3.2 arithmetic
|
||||
/** @defgroup s20_3_2_arithmetic Arithmetic Classes
|
||||
|
||||
/** @defgroup arithmetic_functors Arithmetic Classes
|
||||
* @ingroup functors
|
||||
*
|
||||
* Because basic math often needs to be done during an algorithm,
|
||||
* the library provides functors for those operations. See the
|
||||
* documentation for @link s20_3_1_base the base classes@endlink
|
||||
* documentation for @link functors the base classes@endlink
|
||||
* for examples of their use.
|
||||
*
|
||||
* @{
|
||||
*/
|
||||
/// One of the @link s20_3_2_arithmetic math functors@endlink.
|
||||
/// One of the @link arithmetic_functors math functors@endlink.
|
||||
template<typename _Tp>
|
||||
struct plus : public binary_function<_Tp, _Tp, _Tp>
|
||||
{
|
||||
|
@ -141,7 +144,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
|
|||
{ return __x + __y; }
|
||||
};
|
||||
|
||||
/// One of the @link s20_3_2_arithmetic math functors@endlink.
|
||||
/// One of the @link arithmetic_functors math functors@endlink.
|
||||
template<typename _Tp>
|
||||
struct minus : public binary_function<_Tp, _Tp, _Tp>
|
||||
{
|
||||
|
@ -150,7 +153,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
|
|||
{ return __x - __y; }
|
||||
};
|
||||
|
||||
/// One of the @link s20_3_2_arithmetic math functors@endlink.
|
||||
/// One of the @link arithmetic_functors math functors@endlink.
|
||||
template<typename _Tp>
|
||||
struct multiplies : public binary_function<_Tp, _Tp, _Tp>
|
||||
{
|
||||
|
@ -159,7 +162,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
|
|||
{ return __x * __y; }
|
||||
};
|
||||
|
||||
/// One of the @link s20_3_2_arithmetic math functors@endlink.
|
||||
/// One of the @link arithmetic_functors math functors@endlink.
|
||||
template<typename _Tp>
|
||||
struct divides : public binary_function<_Tp, _Tp, _Tp>
|
||||
{
|
||||
|
@ -168,7 +171,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
|
|||
{ return __x / __y; }
|
||||
};
|
||||
|
||||
/// One of the @link s20_3_2_arithmetic math functors@endlink.
|
||||
/// One of the @link arithmetic_functors math functors@endlink.
|
||||
template<typename _Tp>
|
||||
struct modulus : public binary_function<_Tp, _Tp, _Tp>
|
||||
{
|
||||
|
@ -177,7 +180,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
|
|||
{ return __x % __y; }
|
||||
};
|
||||
|
||||
/// One of the @link s20_3_2_arithmetic math functors@endlink.
|
||||
/// One of the @link arithmetic_functors math functors@endlink.
|
||||
template<typename _Tp>
|
||||
struct negate : public unary_function<_Tp, _Tp>
|
||||
{
|
||||
|
@ -188,13 +191,15 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
|
|||
/** @} */
|
||||
|
||||
// 20.3.3 comparisons
|
||||
/** @defgroup s20_3_3_comparisons Comparison Classes
|
||||
/** @defgroup comparison_functors Comparison Classes
|
||||
* @ingroup functors
|
||||
*
|
||||
* The library provides six wrapper functors for all the basic comparisons
|
||||
* in C++, like @c <.
|
||||
*
|
||||
* @{
|
||||
*/
|
||||
/// One of the @link s20_3_3_comparisons comparison functors@endlink.
|
||||
/// One of the @link comparison_functors comparison functors@endlink.
|
||||
template<typename _Tp>
|
||||
struct equal_to : public binary_function<_Tp, _Tp, bool>
|
||||
{
|
||||
|
@ -203,7 +208,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
|
|||
{ return __x == __y; }
|
||||
};
|
||||
|
||||
/// One of the @link s20_3_3_comparisons comparison functors@endlink.
|
||||
/// One of the @link comparison_functors comparison functors@endlink.
|
||||
template<typename _Tp>
|
||||
struct not_equal_to : public binary_function<_Tp, _Tp, bool>
|
||||
{
|
||||
|
@ -212,7 +217,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
|
|||
{ return __x != __y; }
|
||||
};
|
||||
|
||||
/// One of the @link s20_3_3_comparisons comparison functors@endlink.
|
||||
/// One of the @link comparison_functors comparison functors@endlink.
|
||||
template<typename _Tp>
|
||||
struct greater : public binary_function<_Tp, _Tp, bool>
|
||||
{
|
||||
|
@ -221,7 +226,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
|
|||
{ return __x > __y; }
|
||||
};
|
||||
|
||||
/// One of the @link s20_3_3_comparisons comparison functors@endlink.
|
||||
/// One of the @link comparison_functors comparison functors@endlink.
|
||||
template<typename _Tp>
|
||||
struct less : public binary_function<_Tp, _Tp, bool>
|
||||
{
|
||||
|
@ -230,7 +235,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
|
|||
{ return __x < __y; }
|
||||
};
|
||||
|
||||
/// One of the @link s20_3_3_comparisons comparison functors@endlink.
|
||||
/// One of the @link comparison_functors comparison functors@endlink.
|
||||
template<typename _Tp>
|
||||
struct greater_equal : public binary_function<_Tp, _Tp, bool>
|
||||
{
|
||||
|
@ -239,7 +244,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
|
|||
{ return __x >= __y; }
|
||||
};
|
||||
|
||||
/// One of the @link s20_3_3_comparisons comparison functors@endlink.
|
||||
/// One of the @link comparison_functors comparison functors@endlink.
|
||||
template<typename _Tp>
|
||||
struct less_equal : public binary_function<_Tp, _Tp, bool>
|
||||
{
|
||||
|
@ -250,13 +255,15 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
|
|||
/** @} */
|
||||
|
||||
// 20.3.4 logical operations
|
||||
/** @defgroup s20_3_4_logical Boolean Operations Classes
|
||||
/** @defgroup logical_functors Boolean Operations Classes
|
||||
* @ingroup functors
|
||||
*
|
||||
* Here are wrapper functors for Boolean operations: @c &&, @c ||,
|
||||
* and @c !.
|
||||
*
|
||||
* @{
|
||||
*/
|
||||
/// One of the @link s20_3_4_logical Boolean operations functors@endlink.
|
||||
/// One of the @link logical_functors Boolean operations functors@endlink.
|
||||
template<typename _Tp>
|
||||
struct logical_and : public binary_function<_Tp, _Tp, bool>
|
||||
{
|
||||
|
@ -265,7 +272,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
|
|||
{ return __x && __y; }
|
||||
};
|
||||
|
||||
/// One of the @link s20_3_4_logical Boolean operations functors@endlink.
|
||||
/// One of the @link logical_functors Boolean operations functors@endlink.
|
||||
template<typename _Tp>
|
||||
struct logical_or : public binary_function<_Tp, _Tp, bool>
|
||||
{
|
||||
|
@ -274,7 +281,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
|
|||
{ return __x || __y; }
|
||||
};
|
||||
|
||||
/// One of the @link s20_3_4_logical Boolean operations functors@endlink.
|
||||
/// One of the @link logical_functors Boolean operations functors@endlink.
|
||||
template<typename _Tp>
|
||||
struct logical_not : public unary_function<_Tp, bool>
|
||||
{
|
||||
|
@ -311,7 +318,9 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
|
|||
};
|
||||
|
||||
// 20.3.5 negators
|
||||
/** @defgroup s20_3_5_negators Negators
|
||||
/** @defgroup negators Negators
|
||||
* @ingroup functors
|
||||
*
|
||||
* The functions @c not1 and @c not2 each take a predicate functor
|
||||
* and return an instance of @c unary_negate or
|
||||
* @c binary_negate, respectively. These classes are functors whose
|
||||
|
@ -337,7 +346,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
|
|||
*
|
||||
* @{
|
||||
*/
|
||||
/// One of the @link s20_3_5_negators negation functors@endlink.
|
||||
/// One of the @link negators negation functors@endlink.
|
||||
template<typename _Predicate>
|
||||
class unary_negate
|
||||
: public unary_function<typename _Predicate::argument_type, bool>
|
||||
|
@ -354,13 +363,13 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
|
|||
{ return !_M_pred(__x); }
|
||||
};
|
||||
|
||||
/// One of the @link s20_3_5_negators negation functors@endlink.
|
||||
/// One of the @link negators negation functors@endlink.
|
||||
template<typename _Predicate>
|
||||
inline unary_negate<_Predicate>
|
||||
not1(const _Predicate& __pred)
|
||||
{ return unary_negate<_Predicate>(__pred); }
|
||||
|
||||
/// One of the @link s20_3_5_negators negation functors@endlink.
|
||||
/// One of the @link negators negation functors@endlink.
|
||||
template<typename _Predicate>
|
||||
class binary_negate
|
||||
: public binary_function<typename _Predicate::first_argument_type,
|
||||
|
@ -379,7 +388,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
|
|||
{ return !_M_pred(__x, __y); }
|
||||
};
|
||||
|
||||
/// One of the @link s20_3_5_negators negation functors@endlink.
|
||||
/// One of the @link negators negation functors@endlink.
|
||||
template<typename _Predicate>
|
||||
inline binary_negate<_Predicate>
|
||||
not2(const _Predicate& __pred)
|
||||
|
@ -387,7 +396,9 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
|
|||
/** @} */
|
||||
|
||||
// 20.3.7 adaptors pointers functions
|
||||
/** @defgroup s20_3_7_adaptors Adaptors for pointers to functions
|
||||
/** @defgroup pointer_adaptors Adaptors for pointers to functions
|
||||
* @ingroup functors
|
||||
*
|
||||
* The advantage of function objects over pointers to functions is that
|
||||
* the objects in the standard library declare nested typedefs describing
|
||||
* their argument and result types with uniform names (e.g., @c result_type
|
||||
|
@ -406,7 +417,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
|
|||
*
|
||||
* @{
|
||||
*/
|
||||
/// One of the @link s20_3_7_adaptors adaptors for function pointers@endlink.
|
||||
/// One of the @link pointer_adaptors adaptors for function pointers@endlink.
|
||||
template<typename _Arg, typename _Result>
|
||||
class pointer_to_unary_function : public unary_function<_Arg, _Result>
|
||||
{
|
||||
|
@ -425,13 +436,13 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
|
|||
{ return _M_ptr(__x); }
|
||||
};
|
||||
|
||||
/// One of the @link s20_3_7_adaptors adaptors for function pointers@endlink.
|
||||
/// One of the @link pointer_adaptors adaptors for function pointers@endlink.
|
||||
template<typename _Arg, typename _Result>
|
||||
inline pointer_to_unary_function<_Arg, _Result>
|
||||
ptr_fun(_Result (*__x)(_Arg))
|
||||
{ return pointer_to_unary_function<_Arg, _Result>(__x); }
|
||||
|
||||
/// One of the @link s20_3_7_adaptors adaptors for function pointers@endlink.
|
||||
/// One of the @link pointer_adaptors adaptors for function pointers@endlink.
|
||||
template<typename _Arg1, typename _Arg2, typename _Result>
|
||||
class pointer_to_binary_function
|
||||
: public binary_function<_Arg1, _Arg2, _Result>
|
||||
|
@ -451,7 +462,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
|
|||
{ return _M_ptr(__x, __y); }
|
||||
};
|
||||
|
||||
/// One of the @link s20_3_7_adaptors adaptors for function pointers@endlink.
|
||||
/// One of the @link pointer_adaptors adaptors for function pointers@endlink.
|
||||
template<typename _Arg1, typename _Arg2, typename _Result>
|
||||
inline pointer_to_binary_function<_Arg1, _Arg2, _Result>
|
||||
ptr_fun(_Result (*__x)(_Arg1, _Arg2))
|
||||
|
@ -497,7 +508,9 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
|
|||
};
|
||||
|
||||
// 20.3.8 adaptors pointers members
|
||||
/** @defgroup s20_3_8_memadaptors Adaptors for pointers to members
|
||||
/** @defgroup memory_adaptors Adaptors for pointers to members
|
||||
* @ingroup functors
|
||||
*
|
||||
* There are a total of 8 = 2^3 function objects in this family.
|
||||
* (1) Member functions taking no arguments vs member functions taking
|
||||
* one argument.
|
||||
|
@ -510,7 +523,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
|
|||
*
|
||||
* @{
|
||||
*/
|
||||
/// One of the @link s20_3_8_memadaptors adaptors for member
|
||||
/// One of the @link memory_adaptors adaptors for member
|
||||
/// pointers@endlink.
|
||||
template<typename _Ret, typename _Tp>
|
||||
class mem_fun_t : public unary_function<_Tp*, _Ret>
|
||||
|
@ -528,7 +541,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
|
|||
_Ret (_Tp::*_M_f)();
|
||||
};
|
||||
|
||||
/// One of the @link s20_3_8_memadaptors adaptors for member
|
||||
/// One of the @link memory_adaptors adaptors for member
|
||||
/// pointers@endlink.
|
||||
template<typename _Ret, typename _Tp>
|
||||
class const_mem_fun_t : public unary_function<const _Tp*, _Ret>
|
||||
|
@ -546,7 +559,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
|
|||
_Ret (_Tp::*_M_f)() const;
|
||||
};
|
||||
|
||||
/// One of the @link s20_3_8_memadaptors adaptors for member
|
||||
/// One of the @link memory_adaptors adaptors for member
|
||||
/// pointers@endlink.
|
||||
template<typename _Ret, typename _Tp>
|
||||
class mem_fun_ref_t : public unary_function<_Tp, _Ret>
|
||||
|
@ -564,7 +577,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
|
|||
_Ret (_Tp::*_M_f)();
|
||||
};
|
||||
|
||||
/// One of the @link s20_3_8_memadaptors adaptors for member
|
||||
/// One of the @link memory_adaptors adaptors for member
|
||||
/// pointers@endlink.
|
||||
template<typename _Ret, typename _Tp>
|
||||
class const_mem_fun_ref_t : public unary_function<_Tp, _Ret>
|
||||
|
@ -582,7 +595,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
|
|||
_Ret (_Tp::*_M_f)() const;
|
||||
};
|
||||
|
||||
/// One of the @link s20_3_8_memadaptors adaptors for member
|
||||
/// One of the @link memory_adaptors adaptors for member
|
||||
/// pointers@endlink.
|
||||
template<typename _Ret, typename _Tp, typename _Arg>
|
||||
class mem_fun1_t : public binary_function<_Tp*, _Arg, _Ret>
|
||||
|
@ -600,7 +613,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
|
|||
_Ret (_Tp::*_M_f)(_Arg);
|
||||
};
|
||||
|
||||
/// One of the @link s20_3_8_memadaptors adaptors for member
|
||||
/// One of the @link memory_adaptors adaptors for member
|
||||
/// pointers@endlink.
|
||||
template<typename _Ret, typename _Tp, typename _Arg>
|
||||
class const_mem_fun1_t : public binary_function<const _Tp*, _Arg, _Ret>
|
||||
|
@ -618,7 +631,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
|
|||
_Ret (_Tp::*_M_f)(_Arg) const;
|
||||
};
|
||||
|
||||
/// One of the @link s20_3_8_memadaptors adaptors for member
|
||||
/// One of the @link memory_adaptors adaptors for member
|
||||
/// pointers@endlink.
|
||||
template<typename _Ret, typename _Tp, typename _Arg>
|
||||
class mem_fun1_ref_t : public binary_function<_Tp, _Arg, _Ret>
|
||||
|
@ -636,7 +649,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
|
|||
_Ret (_Tp::*_M_f)(_Arg);
|
||||
};
|
||||
|
||||
/// One of the @link s20_3_8_memadaptors adaptors for member
|
||||
/// One of the @link memory_adaptors adaptors for member
|
||||
/// pointers@endlink.
|
||||
template<typename _Ret, typename _Tp, typename _Arg>
|
||||
class const_mem_fun1_ref_t : public binary_function<_Tp, _Arg, _Ret>
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
// Types used in iterator implementation -*- C++ -*-
|
||||
|
||||
// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
|
||||
// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
|
||||
// Free Software Foundation, Inc.
|
||||
//
|
||||
// This file is part of the GNU ISO C++ Library. This library is free
|
||||
|
@ -72,27 +72,26 @@
|
|||
|
||||
_GLIBCXX_BEGIN_NAMESPACE(std)
|
||||
|
||||
//@{
|
||||
/**
|
||||
* @defgroup iterator_tags Iterator Tags
|
||||
* @defgroup iterators Iterators
|
||||
* These are empty types, used to distinguish different iterators. The
|
||||
* distinction is not made by what they contain, but simply by what they
|
||||
* are. Different underlying algorithms can then be used based on the
|
||||
* different operations supported by different iterator types.
|
||||
*/
|
||||
//@{
|
||||
/// Marking input iterators.
|
||||
struct input_iterator_tag {};
|
||||
struct input_iterator_tag { };
|
||||
/// Marking output iterators.
|
||||
struct output_iterator_tag {};
|
||||
struct output_iterator_tag { };
|
||||
/// Forward iterators support a superset of input iterator operations.
|
||||
struct forward_iterator_tag : public input_iterator_tag {};
|
||||
struct forward_iterator_tag : public input_iterator_tag { };
|
||||
/// Bidirectional iterators support a superset of forward iterator
|
||||
/// operations.
|
||||
struct bidirectional_iterator_tag : public forward_iterator_tag {};
|
||||
struct bidirectional_iterator_tag : public forward_iterator_tag { };
|
||||
/// Random-access iterators support a superset of bidirectional iterator
|
||||
/// operations.
|
||||
struct random_access_iterator_tag : public bidirectional_iterator_tag {};
|
||||
//@}
|
||||
struct random_access_iterator_tag : public bidirectional_iterator_tag { };
|
||||
|
||||
|
||||
/**
|
||||
|
@ -166,6 +165,8 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
|
|||
__iterator_category(const _Iter&)
|
||||
{ return typename iterator_traits<_Iter>::iterator_category(); }
|
||||
|
||||
//@}
|
||||
|
||||
_GLIBCXX_END_NAMESPACE
|
||||
|
||||
#endif /* _STL_ITERATOR_BASE_TYPES_H */
|
||||
|
|
|
@ -379,8 +379,8 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_D)
|
|||
* @brief A standard container with linear time access to elements,
|
||||
* and fixed time insertion/deletion at any point in the sequence.
|
||||
*
|
||||
* @ingroup Containers
|
||||
* @ingroup Sequences
|
||||
* @ingroup containers
|
||||
* @ingroup sequences
|
||||
*
|
||||
* Meets the requirements of a <a href="tables.html#65">container</a>, a
|
||||
* <a href="tables.html#66">reversible container</a>, and a
|
||||
|
|
|
@ -72,8 +72,8 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_D)
|
|||
* @brief A standard container made up of (key,value) pairs, which can be
|
||||
* retrieved based on a key, in logarithmic time.
|
||||
*
|
||||
* @ingroup Containers
|
||||
* @ingroup Assoc_containers
|
||||
* @ingroup containers
|
||||
* @ingroup associative_containers
|
||||
*
|
||||
* Meets the requirements of a <a href="tables.html#65">container</a>, a
|
||||
* <a href="tables.html#66">reversible container</a>, and an
|
||||
|
|
|
@ -71,8 +71,8 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_D)
|
|||
* @brief A standard container made up of (key,value) pairs, which can be
|
||||
* retrieved based on a key, in logarithmic time.
|
||||
*
|
||||
* @ingroup Containers
|
||||
* @ingroup Assoc_containers
|
||||
* @ingroup containers
|
||||
* @ingroup associative_containers
|
||||
*
|
||||
* Meets the requirements of a <a href="tables.html#65">container</a>, a
|
||||
* <a href="tables.html#66">reversible container</a>, and an
|
||||
|
|
|
@ -71,8 +71,8 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_D)
|
|||
* @brief A standard container made up of elements, which can be retrieved
|
||||
* in logarithmic time.
|
||||
*
|
||||
* @ingroup Containers
|
||||
* @ingroup Assoc_containers
|
||||
* @ingroup containers
|
||||
* @ingroup associative_containers
|
||||
*
|
||||
* Meets the requirements of a <a href="tables.html#65">container</a>, a
|
||||
* <a href="tables.html#66">reversible container</a>, and an
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
// Queue implementation -*- C++ -*-
|
||||
|
||||
// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
|
||||
// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
|
||||
// Free Software Foundation, Inc.
|
||||
//
|
||||
// This file is part of the GNU ISO C++ Library. This library is free
|
||||
|
@ -70,8 +70,8 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
|
|||
/**
|
||||
* @brief A standard container giving FIFO behavior.
|
||||
*
|
||||
* @ingroup Containers
|
||||
* @ingroup Sequences
|
||||
* @ingroup containers
|
||||
* @ingroup sequences
|
||||
*
|
||||
* Meets many of the requirements of a
|
||||
* <a href="tables.html#65">container</a>,
|
||||
|
@ -338,8 +338,8 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
|
|||
/**
|
||||
* @brief A standard container automatically sorting its contents.
|
||||
*
|
||||
* @ingroup Containers
|
||||
* @ingroup Sequences
|
||||
* @ingroup containers
|
||||
* @ingroup sequences
|
||||
*
|
||||
* This is not a true container, but an @e adaptor. It holds
|
||||
* another container, and provides a wrapper interface to that
|
||||
|
@ -432,7 +432,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
|
|||
* the copy according to @a x.
|
||||
*
|
||||
* For more information on function objects, see the
|
||||
* documentation on @link s20_3_1_base functor base
|
||||
* documentation on @link functors functor base
|
||||
* classes@endlink.
|
||||
*/
|
||||
#ifndef __GXX_EXPERIMENTAL_CXX0X__
|
||||
|
|
|
@ -71,8 +71,8 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_D)
|
|||
* @brief A standard container made up of unique keys, which can be
|
||||
* retrieved in logarithmic time.
|
||||
*
|
||||
* @ingroup Containers
|
||||
* @ingroup Assoc_containers
|
||||
* @ingroup containers
|
||||
* @ingroup associative_containers
|
||||
*
|
||||
* Meets the requirements of a <a href="tables.html#65">container</a>, a
|
||||
* <a href="tables.html#66">reversible container</a>, and an
|
||||
|
|
|
@ -70,8 +70,8 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
|
|||
/**
|
||||
* @brief A standard container giving FILO behavior.
|
||||
*
|
||||
* @ingroup Containers
|
||||
* @ingroup Sequences
|
||||
* @ingroup containers
|
||||
* @ingroup sequences
|
||||
*
|
||||
* Meets many of the requirements of a
|
||||
* <a href="tables.html#65">container</a>,
|
||||
|
|
|
@ -157,8 +157,8 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_D)
|
|||
* @brief A standard container which offers fixed time access to
|
||||
* individual elements in any order.
|
||||
*
|
||||
* @ingroup Containers
|
||||
* @ingroup Sequences
|
||||
* @ingroup containers
|
||||
* @ingroup sequences
|
||||
*
|
||||
* Meets the requirements of a <a href="tables.html#65">container</a>, a
|
||||
* <a href="tables.html#66">reversible container</a>, and a
|
||||
|
|
|
@ -587,7 +587,7 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_D)
|
|||
/**
|
||||
* @brief The %bitset class represents a @e fixed-size sequence of bits.
|
||||
*
|
||||
* @ingroup Containers
|
||||
* @ingroup containers
|
||||
*
|
||||
* (Note that %bitset does @e not meet the formal requirements of a
|
||||
* <a href="tables.html#65">container</a>. Mainly, it lacks iterators.)
|
||||
|
|
|
@ -102,7 +102,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
|
|||
class ios_base;
|
||||
|
||||
/**
|
||||
* @defgroup s27_2_iosfwd I/O Forward Declarations
|
||||
* @defgroup io I/O
|
||||
*
|
||||
* Nearly all of the I/O classes are parameterized on the type of
|
||||
* characters they read and write. (The major exception is ios_base at
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
// <numeric> -*- C++ -*-
|
||||
|
||||
// Copyright (C) 2001, 2002 Free Software Foundation, Inc.
|
||||
// Copyright (C) 2001, 2002, 2009 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
|
||||
|
@ -71,4 +71,13 @@
|
|||
# include <parallel/numeric>
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @defgroup numerics Numerics
|
||||
*
|
||||
* Components for performing numeric operations. Includes support for
|
||||
* for complex number types, random number generation, numeric
|
||||
* (n-at-a-time) arrays, generalized numeric algorithms, and special
|
||||
* math functions.
|
||||
*/
|
||||
|
||||
#endif /* _GLIBCXX_NUMERIC */
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
// <utility> -*- C++ -*-
|
||||
|
||||
// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
|
||||
// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
|
||||
// Free Software Foundation, Inc.
|
||||
//
|
||||
// This file is part of the GNU ISO C++ Library. This library is free
|
||||
|
@ -88,4 +88,12 @@
|
|||
# include <initializer_list>
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @defgroup utilities Utilities
|
||||
*
|
||||
* Components deemed generally useful. Includes pair, tuple,
|
||||
* forward/move helpers, ratio, function object, metaprogramming and
|
||||
* type traits, time, date, and memory functions.
|
||||
*/
|
||||
|
||||
#endif /* _GLIBCXX_UTILITY */
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
// TR1 cmath -*- C++ -*-
|
||||
|
||||
// Copyright (C) 2006, 2007, 2008 Free Software Foundation, Inc.
|
||||
// Copyright (C) 2006, 2007, 2008, 2009 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
|
||||
|
@ -105,7 +105,9 @@ namespace std
|
|||
namespace tr1
|
||||
{
|
||||
/**
|
||||
* @addtogroup tr1_math_spec_func Mathematical Special Functions
|
||||
* @defgroup tr1_math_spec_func Mathematical Special Functions
|
||||
* @ingroup numerics
|
||||
*
|
||||
* A collection of advanced mathematical special functions.
|
||||
* @{
|
||||
*/
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
// class template array -*- C++ -*-
|
||||
|
||||
// Copyright (C) 2007, 2008 Free Software Foundation, Inc.
|
||||
// Copyright (C) 2007, 2008, 2009 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,8 +36,21 @@ namespace std
|
|||
{
|
||||
_GLIBCXX_BEGIN_NAMESPACE_TR1
|
||||
|
||||
/// array.
|
||||
/// NB: Requires complete type _Tp.
|
||||
/**
|
||||
* @brief A standard container for storing a fixed size sequence of elements.
|
||||
*
|
||||
* @ingroup containers
|
||||
* @ingroup sequences
|
||||
*
|
||||
* Meets the requirements of a <a href="tables.html#65">container</a>, a
|
||||
* <a href="tables.html#66">reversible container</a>, and a
|
||||
* <a href="tables.html#67">sequence</a>.
|
||||
*
|
||||
* Sets support random access iterators.
|
||||
*
|
||||
* @param Tp Type of element. Required to be a complete type.
|
||||
* @param N Number of elements.
|
||||
*/
|
||||
template<typename _Tp, std::size_t _Nm>
|
||||
struct array
|
||||
{
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
// random number generation -*- C++ -*-
|
||||
|
||||
// Copyright (C) 2007, 2008 Free Software Foundation, Inc.
|
||||
// Copyright (C) 2007, 2008, 2009 Free Software Foundation, Inc.
|
||||
//
|
||||
// This file is part of the GNU ISO C++ Library. This library is free
|
||||
// software; you can redistribute it and/or modify it under the
|
||||
|
@ -40,7 +40,8 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1
|
|||
// [5.1] Random number generation
|
||||
|
||||
/**
|
||||
* @addtogroup tr1_random Random Number Generation
|
||||
* @defgroup tr1_random Random Number Generation
|
||||
* @ingroup numerics
|
||||
* A facility for generating random numbers on selected distributions.
|
||||
* @{
|
||||
*/
|
||||
|
@ -312,7 +313,7 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1
|
|||
|
||||
|
||||
/**
|
||||
* @addtogroup tr1_random_generators Random Number Generators
|
||||
* @defgroup tr1_random_generators Random Number Generators
|
||||
* @ingroup tr1_random
|
||||
*
|
||||
* These classes define objects which provide random or pseudorandom
|
||||
|
@ -1544,13 +1545,13 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1
|
|||
/* @} */ // group tr1_random_generators
|
||||
|
||||
/**
|
||||
* @addtogroup tr1_random_distributions Random Number Distributions
|
||||
* @defgroup tr1_random_distributions Random Number Distributions
|
||||
* @ingroup tr1_random
|
||||
* @{
|
||||
*/
|
||||
|
||||
/**
|
||||
* @addtogroup tr1_random_distributions_discrete Discrete Distributions
|
||||
* @defgroup tr1_random_distributions_discrete Discrete Distributions
|
||||
* @ingroup tr1_random_distributions
|
||||
* @{
|
||||
*/
|
||||
|
@ -2047,7 +2048,7 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1
|
|||
/* @} */ // group tr1_random_distributions_discrete
|
||||
|
||||
/**
|
||||
* @addtogroup tr1_random_distributions_continuous Continuous Distributions
|
||||
* @defgroup tr1_random_distributions_continuous Continuous Distributions
|
||||
* @ingroup tr1_random_distributions
|
||||
* @{
|
||||
*/
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
// TR1 unordered_map -*- C++ -*-
|
||||
|
||||
// Copyright (C) 2007 Free Software Foundation, Inc.
|
||||
// Copyright (C) 2007, 2009 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
|
||||
|
@ -168,7 +168,25 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1
|
|||
{ __x.swap(__y); }
|
||||
|
||||
|
||||
/// class unordered_map
|
||||
/**
|
||||
* @brief A standard container composed of unique keys (containing
|
||||
* at most one of each key value) that associates values of another type
|
||||
* with the keys.
|
||||
*
|
||||
* @ingroup containers
|
||||
* @ingroup unordered_associative_containers
|
||||
*
|
||||
* Meets the requirements of a <a href="tables.html#65">container</a>, and
|
||||
* <a href="tables.html#xx">unordered associative container</a>
|
||||
*
|
||||
* @param Key Type of key objects.
|
||||
* @param Tp Type of mapped objects.
|
||||
* @param Hash Hashing function object type, defaults to hash<Value>.
|
||||
* @param Pred Predicate function object type, defaults to equal_to<Value>.
|
||||
* @param Alloc Allocator type, defaults to allocator<Key>.
|
||||
*
|
||||
* The resulting value type of the container is std::pair<const Key, Tp>.
|
||||
*/
|
||||
template<class _Key, class _Tp,
|
||||
class _Hash = hash<_Key>,
|
||||
class _Pred = std::equal_to<_Key>,
|
||||
|
@ -233,7 +251,25 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1
|
|||
#endif
|
||||
};
|
||||
|
||||
/// class unordered_multimap
|
||||
/**
|
||||
* @brief A standard container composed of equivalent keys
|
||||
* (possibly containing multiple of each key value) that associates
|
||||
* values of another type with the keys.
|
||||
*
|
||||
* @ingroup containers
|
||||
* @ingroup unordered_associative_containers
|
||||
*
|
||||
* Meets the requirements of a <a href="tables.html#65">container</a>, and
|
||||
* <a href="tables.html#xx">unordered associative container</a>
|
||||
*
|
||||
* @param Key Type of key objects.
|
||||
* @param Tp Type of mapped objects.
|
||||
* @param Hash Hashing function object type, defaults to hash<Value>.
|
||||
* @param Pred Predicate function object type, defaults to equal_to<Value>.
|
||||
* @param Alloc Allocator type, defaults to allocator<Key>.
|
||||
*
|
||||
* The resulting value type of the container is std::pair<const Key, Tp>.
|
||||
*/
|
||||
template<class _Key, class _Tp,
|
||||
class _Hash = hash<_Key>,
|
||||
class _Pred = std::equal_to<_Key>,
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
// TR1 unordered_set -*- C++ -*-
|
||||
|
||||
// Copyright (C) 2007 Free Software Foundation, Inc.
|
||||
// Copyright (C) 2007, 2009 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
|
||||
|
@ -164,7 +164,22 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1
|
|||
{ __x.swap(__y); }
|
||||
|
||||
|
||||
/// class unordered_set
|
||||
/**
|
||||
* @brief A standard container composed of unique keys (containing
|
||||
* at most one of each key value) in which the elements' keys are
|
||||
* the elements themselves.
|
||||
*
|
||||
* @ingroup containers
|
||||
* @ingroup unordered_associative_containers
|
||||
*
|
||||
* Meets the requirements of a <a href="tables.html#65">container</a>, and
|
||||
* <a href="tables.html#xx">unordered associative container</a>
|
||||
*
|
||||
* @param Value Type of key objects.
|
||||
* @param Hash Hashing function object type, defaults to hash<Value>.
|
||||
* @param Pred Predicate function object type, defaults to equal_to<Value>.
|
||||
* @param Alloc Allocator type, defaults to allocator<Key>.
|
||||
*/
|
||||
template<class _Value,
|
||||
class _Hash = hash<_Value>,
|
||||
class _Pred = std::equal_to<_Value>,
|
||||
|
@ -229,7 +244,22 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1
|
|||
#endif
|
||||
};
|
||||
|
||||
/// class unordered_multiset
|
||||
/**
|
||||
* @brief A standard container composed of equivalent keys
|
||||
* (possibly containing multiple of each key value) in which the
|
||||
* elements' keys are the elements themselves.
|
||||
*
|
||||
* @ingroup containers
|
||||
* @ingroup unordered_associative_containers
|
||||
*
|
||||
* Meets the requirements of a <a href="tables.html#65">container</a>, and
|
||||
* <a href="tables.html#xx">unordered associative container</a>
|
||||
*
|
||||
* @param Value Type of key objects.
|
||||
* @param Hash Hashing function object type, defaults to hash<Value>.
|
||||
* @param Pred Predicate function object type, defaults to equal_to<Value>.
|
||||
* @param Alloc Allocator type, defaults to allocator<Key>.
|
||||
*/
|
||||
template<class _Value,
|
||||
class _Hash = hash<_Value>,
|
||||
class _Pred = std::equal_to<_Value>,
|
||||
|
|
|
@ -217,23 +217,20 @@ rm -rf ext
|
|||
# File names with embedded spaces (EVIL!) need to be....? renamed or removed?
|
||||
find . -name "* *" -print0 | xargs -0r rm # requires GNU tools
|
||||
|
||||
# can leave SGIextensions.3 alone, it's an okay name
|
||||
mv s20_3_1_base.3 Intro_functors.3
|
||||
mv s20_3_2_arithmetic.3 Arithmetic_functors.3
|
||||
mv s20_3_3_comparisons.3 Comparison_functors.3
|
||||
mv s20_3_4_logical.3 Logical_functors.3
|
||||
mv s20_3_5_negators.3 Negation_functors.3
|
||||
#mv s20_3_6_binder.3 Binder_functors.3
|
||||
mv s20_3_7_adaptors.3 Func_ptr_functors.3
|
||||
mv s20_3_8_memadaptors.3 Member_ptr_functors.3
|
||||
mv iterator_tags.3 Iterator_types.3
|
||||
mv std.3 Namespace_std.3
|
||||
mv __gnu_cxx.3 Namespace___gnu_cxx.3
|
||||
# Cleanups before tr1* files get killed.
|
||||
mv tr1_random_distributions.3 random_distributions.3
|
||||
mv tr1_random_distributions_continuous.3 random_distributions_continuous.3
|
||||
mv tr1_random_distributions_discrete.3 random_distributions_discrete.3
|
||||
mv tr1_random_generators.3 random_generators.3
|
||||
|
||||
# man pages are for functions/types/other entities, not source files
|
||||
# directly. who the heck would type "man foo.h" anyhow?
|
||||
find . -name "[a-z]*" -a ! -name "std_*" -print | xargs rm
|
||||
rm -f *.h.3 *config* *.cc.3 *.tcc.3 *_t.3
|
||||
#find . -name "[a-z]*" -a ! -name "std_*" -print | xargs rm
|
||||
rm -f *.h.3 *.hpp.3 *config* *.cc.3 *.tcc.3 *_t.3
|
||||
rm ext_*.3
|
||||
rm tr1_*.3
|
||||
rm debug_*.3
|
||||
|
||||
# this is used to examine what we would have deleted, for debugging
|
||||
#mkdir trash
|
||||
#find . -name "[a-z]*" -a ! -name "std_*" -print | xargs -i mv {} trash
|
||||
|
@ -258,16 +255,17 @@ rm stdheader
|
|||
# implementations of man(1), e.g., Linux's. We need to have another top-level
|
||||
# *roff tag to /stop/ the .SH NAME entry.
|
||||
#problematic=`egrep --files-without-match '^\.SH SYNOPSIS' [A-Z]*.3`
|
||||
problematic='Containers.3 Sequences.3 Assoc_containers.3 Iterator_types.3'
|
||||
for f in $problematic; do
|
||||
sed '/^\.SH NAME/{
|
||||
n
|
||||
a\
|
||||
\
|
||||
.SH SYNOPSIS
|
||||
}' $f > TEMP
|
||||
mv TEMP $f
|
||||
done
|
||||
|
||||
#problematic='Containers.3 Sequences.3 Assoc_containers.3 Iterator_types.3'
|
||||
#for f in $problematic; do
|
||||
# sed '/^\.SH NAME/{
|
||||
#n
|
||||
#a\
|
||||
#\
|
||||
#.SH SYNOPSIS
|
||||
# }' $f > TEMP
|
||||
# mv TEMP $f
|
||||
#done
|
||||
|
||||
# Also, break this (generated) line up. It's ugly as sin.
|
||||
problematic=`grep -l '[^^]Definition at line' *.3`
|
||||
|
@ -314,6 +312,15 @@ for f in __gnu_parallel_*; do
|
|||
newname=`echo $f | sed 's/^__gnu_parallel_/__gnu_parallel::/'`
|
||||
mv $f $newname
|
||||
done
|
||||
for f in __atomic0_*; do
|
||||
newname=`echo $f | sed 's/^__atomic0_/std::__atomic0::/'`
|
||||
mv $f $newname
|
||||
done
|
||||
for f in __atomic2_*; do
|
||||
newname=`echo $f | sed 's/^__atomic2_/std::__atomic2::/'`
|
||||
mv $f $newname
|
||||
done
|
||||
|
||||
|
||||
# Generic removal bits, where there are things in the generated man
|
||||
# pages that need to be killed.
|
||||
|
|
Loading…
Add table
Reference in a new issue