user.cfg.in: Tweaks.

2009-02-20  Benjamin Kosnik  <bkoz@redhat.com>

	* doc/doxygen/user.cfg.in: Tweaks.
	* doc/doxygen/doxygroups.cc: Prefer markup that can be elsewhere,
	be elsewhere.

	* include/tr1_impl/unordered_map: Just use most specialized
	container module.
	* include/tr1_impl/unordered_set: Same.
	* include/tr1_impl/array: Same.
	* include/bits/stl_list.h: Same.
	* include/bits/stl_map.h: Same.
	* include/bits/stl_queue.h: Same.
	* include/bits/stl_set.h: Same.
	* include/bits/stl_stack.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_bvector.h: Same.

	* include/backward/binders.h: Change binder module to binders.

	* include/std/complex: Add complex_numers module.
	* include/tr1_impl/complex: Same.

	* include/std/valarray: Add numeric_arrays module.
	* include/bits/gslice_array.h: Same.
	* include/bits/gslice.h: Same.
	* include/bits/mask_array.h: Same.
	* include/bits/slice_array.h: Same.
	* include/bits/indirect_array.h: Same.

	* include/bits/allocator.h: Add allocators module.
	* include/ext/throw_allocator.h
	* include/ext/pool_allocator.h
	* include/ext/bitmap_allocator.h
	* include/ext/new_allocator.h
	* include/ext/malloc_allocator.h
	* include/ext/array_allocator.h
	* include/ext/mt_allocator.h
	* include/ext/debug_allocator.h
	* include/ext/extptr_allocator.h

	* include/tr1_impl/functional: Move namespace markup here.
	* include/tr1_impl/regex: Same.

	* include/tr1_impl/type_traits: Add metaprogramming module.
	* include/std/type_traits: Same.

	* include/std/memory: Add memory module.

	* include/std/ratio: Add ratio module.

	* include/std/chrono: Move namespace markup here, add time module.

	* include/std/thread: Move namespace markup here, add concurrency
	module.
	* include/std/mutex: Use concurrency module.
	* include/std/condition_variable: Same.


	* include/bits/ios_base.h: Refine io module.
	* include/bits/basic_ios.h: Same.
	* include/std/fstream: Same.
	* include/std/istream: Same.
	* include/std/ostream: Same.
	* include/std/sstream: Same.

	* include/ext/vstring.h: Correct parameter markup.

	* include/bits/shared_ptr.h: Add pointer_abstractions module.
	* include/bits/unique_ptr.h: Same.

	* include/bits/algorithmfwd.h: Add mutating_algorithms,
        non_mutating_algorithms, sorting_algorithms. Adjust nesting.
	* include/bits/stl_heap.h: Add markup for new groupings.
	* include/bits/stl_algobase.h: Same.
	* include/bits/stl_algo.h: Same.

	* include/c_compatibility/stdatomic.h: Add atomics module.
	* include/c_global/cstdatomic: Same.

	* libsupc++/exception: Add exceptions module.
	* libsupc++/typeinfo: Same.
	* libsupc++/new: Same.
	* libsupc++/exception_ptr.h: Same.
	* include/std/system_error: Same.
	* include/std/stdexcept: Same.

	* libsupc++/cxxabi.h: Move doxygroups.cc markup here.
	* libsupc++/cxxabi-forced.h: Same.

	* testsuite/27_io/ios_base/cons/assign_neg.cc: Fix up line numbers.
	* testsuite/27_io/ios_base/cons/copy_neg.cc: Same.
	* testsuite/30_threads/condition_variable_any/cons/assign_neg.cc: Same.
	* testsuite/30_threads/condition_variable_any/cons/copy_neg.cc: Same.
	* testsuite/30_threads/mutex/cons/assign_neg.cc: Same.
	* testsuite/30_threads/mutex/cons/copy_neg.cc: Same.
	* testsuite/30_threads/timed_mutex/cons/assign_neg.cc: Same.
	* testsuite/30_threads/timed_mutex/cons/copy_neg.cc: Same.
	* testsuite/30_threads/thread/cons/assign_neg.cc: Same.
	* testsuite/30_threads/thread/cons/copy_neg.cc: Same.
	* testsuite/30_threads/recursive_mutex/cons/assign_neg.cc: Same.
	* testsuite/30_threads/recursive_mutex/cons/copy_neg.cc: Same.
	* testsuite/30_threads/condition_variable/cons/assign_neg.cc: Same.
	* testsuite/30_threads/condition_variable/cons/copy_neg.cc: Same.
	* testsuite/30_threads/recursive_timed_mutex/cons/assign_neg.cc: Same.
	* testsuite/30_threads/recursive_timed_mutex/cons/copy_neg.cc: Same.
	* testsuite/29_atomics/atomic/cons/assign_neg.cc: Same.
	* testsuite/29_atomics/atomic/cons/copy_neg.cc: Same.
	* testsuite/23_containers/vector/requirements/dr438/assign_neg.cc: Same.
	* testsuite/23_containers/vector/requirements/dr438/insert_neg.cc: Same.
	* testsuite/23_containers/vector/requirements/dr438/
	constructor_1_neg.cc: Same.
	* testsuite/23_containers/vector/requirements/dr438/
	constructor_2_neg.cc: Same.
	* testsuite/23_containers/deque/requirements/dr438/assign_neg.cc: Same.
	* testsuite/23_containers/deque/requirements/dr438/insert_neg.cc: Same.
	* testsuite/23_containers/deque/requirements/dr438/
	constructor_1_neg.cc: Same.
	* testsuite/23_containers/deque/requirements/dr438/
	constructor_2_neg.cc: Same.
	* testsuite/23_containers/list/requirements/dr438/assign_neg.cc: Same.
	* testsuite/23_containers/list/requirements/dr438/insert_neg.cc: Same.
	* testsuite/23_containers/list/requirements/dr438/
	constructor_1_neg.cc: Same.
	* testsuite/23_containers/list/requirements/dr438/
	constructor_2_neg.cc: Same.
	* testsuite/20_util/duration/cons/1_neg.cc: Same.
	* testsuite/20_util/duration/requirements/typedefs_neg1.cc: Same.
	* testsuite/20_util/duration/requirements/typedefs_neg2.cc: Same.
	* testsuite/20_util/duration/requirements/typedefs_neg3.cc: Same.
	* testsuite/20_util/unique_ptr/modifiers/reset_neg.cc: Same.
	* testsuite/20_util/unique_ptr/assign/assign.cc: Same.
	* testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Same.
	* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: Same.
	* testsuite/20_util/ratio/cons/cons_overflow.cc: Same.
	* testsuite/20_util/ratio/operations/ops_overflow.cc: Same.

From-SVN: r144343
This commit is contained in:
Benjamin Kosnik 2009-02-21 00:45:21 +00:00
parent 791838fa91
commit 5b9daa7e60
110 changed files with 1600 additions and 1029 deletions

View File

@ -1,3 +1,145 @@
2009-02-20 Benjamin Kosnik <bkoz@redhat.com>
* doc/doxygen/user.cfg.in: Tweaks.
* doc/doxygen/doxygroups.cc: Prefer markup that can be elsewhere,
be elsewhere.
* include/tr1_impl/unordered_map: Just use most specialized
container module.
* include/tr1_impl/unordered_set: Same.
* include/tr1_impl/array: Same.
* include/bits/stl_list.h: Same.
* include/bits/stl_map.h: Same.
* include/bits/stl_queue.h: Same.
* include/bits/stl_set.h: Same.
* include/bits/stl_stack.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_bvector.h: Same.
* include/backward/binders.h: Change binder module to binders.
* include/std/complex: Add complex_numers module.
* include/tr1_impl/complex: Same.
* include/std/valarray: Add numeric_arrays module.
* include/bits/gslice_array.h: Same.
* include/bits/gslice.h: Same.
* include/bits/mask_array.h: Same.
* include/bits/slice_array.h: Same.
* include/bits/indirect_array.h: Same.
* include/bits/allocator.h: Add allocators module.
* include/ext/throw_allocator.h
* include/ext/pool_allocator.h
* include/ext/bitmap_allocator.h
* include/ext/new_allocator.h
* include/ext/malloc_allocator.h
* include/ext/array_allocator.h
* include/ext/mt_allocator.h
* include/ext/debug_allocator.h
* include/ext/extptr_allocator.h
* include/tr1_impl/functional: Move namespace markup here.
* include/tr1_impl/regex: Same.
* include/tr1_impl/type_traits: Add metaprogramming module.
* include/std/type_traits: Same.
* include/std/memory: Add memory module.
* include/std/ratio: Add ratio module.
* include/std/chrono: Move namespace markup here, add time module.
* include/std/thread: Move namespace markup here, add concurrency
module.
* include/std/mutex: Use concurrency module.
* include/std/condition_variable: Same.
* include/bits/ios_base.h: Refine io module.
* include/bits/basic_ios.h: Same.
* include/std/fstream: Same.
* include/std/istream: Same.
* include/std/ostream: Same.
* include/std/sstream: Same.
* include/ext/vstring.h: Correct parameter markup.
* include/bits/shared_ptr.h: Add pointer_abstractions module.
* include/bits/unique_ptr.h: Same.
* include/bits/algorithmfwd.h: Add mutating_algorithms,
non_mutating_algorithms, sorting_algorithms. Adjust nesting.
* include/bits/stl_heap.h: Add markup for new groupings.
* include/bits/stl_algobase.h: Same.
* include/bits/stl_algo.h: Same.
* include/c_compatibility/stdatomic.h: Add atomics module.
* include/c_global/cstdatomic: Same.
* libsupc++/exception: Add exceptions module.
* libsupc++/typeinfo: Same.
* libsupc++/new: Same.
* libsupc++/exception_ptr.h: Same.
* include/std/system_error: Same.
* include/std/stdexcept: Same.
* libsupc++/cxxabi.h: Move doxygroups.cc markup here.
* libsupc++/cxxabi-forced.h: Same.
* testsuite/27_io/ios_base/cons/assign_neg.cc: Fix up line numbers.
* testsuite/27_io/ios_base/cons/copy_neg.cc: Same.
* testsuite/30_threads/condition_variable_any/cons/assign_neg.cc: Same.
* testsuite/30_threads/condition_variable_any/cons/copy_neg.cc: Same.
* testsuite/30_threads/mutex/cons/assign_neg.cc: Same.
* testsuite/30_threads/mutex/cons/copy_neg.cc: Same.
* testsuite/30_threads/timed_mutex/cons/assign_neg.cc: Same.
* testsuite/30_threads/timed_mutex/cons/copy_neg.cc: Same.
* testsuite/30_threads/thread/cons/assign_neg.cc: Same.
* testsuite/30_threads/thread/cons/copy_neg.cc: Same.
* testsuite/30_threads/recursive_mutex/cons/assign_neg.cc: Same.
* testsuite/30_threads/recursive_mutex/cons/copy_neg.cc: Same.
* testsuite/30_threads/condition_variable/cons/assign_neg.cc: Same.
* testsuite/30_threads/condition_variable/cons/copy_neg.cc: Same.
* testsuite/30_threads/recursive_timed_mutex/cons/assign_neg.cc: Same.
* testsuite/30_threads/recursive_timed_mutex/cons/copy_neg.cc: Same.
* testsuite/29_atomics/atomic/cons/assign_neg.cc: Same.
* testsuite/29_atomics/atomic/cons/copy_neg.cc: Same.
* testsuite/23_containers/vector/requirements/dr438/assign_neg.cc: Same.
* testsuite/23_containers/vector/requirements/dr438/insert_neg.cc: Same.
* testsuite/23_containers/vector/requirements/dr438/
constructor_1_neg.cc: Same.
* testsuite/23_containers/vector/requirements/dr438/
constructor_2_neg.cc: Same.
* testsuite/23_containers/deque/requirements/dr438/assign_neg.cc: Same.
* testsuite/23_containers/deque/requirements/dr438/insert_neg.cc: Same.
* testsuite/23_containers/deque/requirements/dr438/
constructor_1_neg.cc: Same.
* testsuite/23_containers/deque/requirements/dr438/
constructor_2_neg.cc: Same.
* testsuite/23_containers/list/requirements/dr438/assign_neg.cc: Same.
* testsuite/23_containers/list/requirements/dr438/insert_neg.cc: Same.
* testsuite/23_containers/list/requirements/dr438/
constructor_1_neg.cc: Same.
* testsuite/23_containers/list/requirements/dr438/
constructor_2_neg.cc: Same.
* testsuite/20_util/duration/cons/1_neg.cc: Same.
* testsuite/20_util/duration/requirements/typedefs_neg1.cc: Same.
* testsuite/20_util/duration/requirements/typedefs_neg2.cc: Same.
* testsuite/20_util/duration/requirements/typedefs_neg3.cc: Same.
* testsuite/20_util/unique_ptr/modifiers/reset_neg.cc: Same.
* testsuite/20_util/unique_ptr/assign/assign.cc: Same.
* testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Same.
* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: Same.
* testsuite/20_util/ratio/cons/cons_overflow.cc: Same.
* testsuite/20_util/ratio/operations/ops_overflow.cc: Same.
2009-02-18 Benjamin Kosnik <bkoz@redhat.com>
* doc/doxygen/doxygroups.cc: Move algorithm groups into algorithmfwd.h.
@ -324,17 +466,17 @@
2009-02-03 Johannes Singler <singler@ira.uka.de>
* include/parallel/algorithmfwd.h:
Add parallelism default for many declarations.
* include/parallel/numericfwd.h: Likewise.
* include/parallel/iterator.h: Use iterator_traits as usual.
* include/parallel/par_loop.h:
Include equally_split.h.
(for_each_template_random_access_ed):
Avoid calling the Result default constructor.
* include/parallel/numeric: Replace
for_each_template_random_access by
for_each_template_random_access_ed in numeric functions.
* include/parallel/algorithmfwd.h:
Add parallelism default for many declarations.
* include/parallel/numericfwd.h: Likewise.
* include/parallel/iterator.h: Use iterator_traits as usual.
* include/parallel/par_loop.h:
Include equally_split.h.
(for_each_template_random_access_ed):
Avoid calling the Result default constructor.
* include/parallel/numeric: Replace
for_each_template_random_access by
for_each_template_random_access_ed in numeric functions.
2009-02-02 Benjamin Kosnik <bkoz@redhat.com>
@ -450,7 +592,7 @@
* config/os/gnu-linux/ldbl-extra.ver: Tweak.
2009-01-20 Benjamin Kosnik <bkoz@redhat.com>
Rainer Emrich <r.emrich@de.tecosim.com>
Rainer Emrich <r.emrich@de.tecosim.com>
PR libstdc++/38919
* crossconfig.m4: Use GLIBCXX_CHECK_MATH_SUPPORT and

View File

@ -28,18 +28,6 @@
/** @namespace std::tr1::__detail
* @brief Implementation details not part of the namespace std::tr1 interface.
*/
/** @namespace std::chrono
* @brief ISO C++ 0x entities sub namespace for time and date.
*/
/** @namespace std::placeholders
* @brief ISO C++ 0x entities sub namespace for functional.
*/
/** @namespace std::regex_constants
* @brief ISO C++ 0x entities sub namespace for regex.
*/
/** @namespace std::this_thread
* @brief ISO C++ 0x entities sub namespace for thread.
*/
/** @namespace __gnu_cxx
* @brief GNU extensions for public use.
*/
@ -51,71 +39,6 @@
* @brief GNU implemenation details, not for public use or
* export. Used only when anonymous namespaces cannot be substituted.
*/
// // // // // // // // // // // // // // // // // // // // // // // //
/** @namespace abi
* @brief The cross-vendor C++ Application Binary Interface. A
* namespace alias to __cxxabiv1.
*
* A brief overview of an ABI is given in the libstdc++ FAQ, question
* 5.8 (you may have a copy of the FAQ locally, or you can view the online
* version at http://gcc.gnu.org/onlinedocs/libstdc++/faq/index.html#5_8).
*
* GCC subscribes to a relatively-new cross-vendor ABI for C++, sometimes
* called the IA64 ABI because it happens to be the native ABI for that
* platform. It is summarized at http://www.codesourcery.com/cxx-abi/
* along with the current specification.
*
* For users of GCC greater than or equal to 3.x, entry points are
* available in <cxxabi.h>, which notes, <em>"It is not normally
* necessary for user programs to include this header, or use the
* entry points directly. However, this header is available should
* that be needed."</em>
*/
namespace abi {
/**
@brief New ABI-mandated entry point in the C++ runtime library for demangling.
@param mangled_name A NUL-terminated character string containing the name
to be demangled.
@param output_buffer A region of memory, allocated with malloc, of
@a *length bytes, into which the demangled name
is stored. If @a output_buffer is not long enough,
it is expanded using realloc. @a output_buffer may
instead be NULL; in that case, the demangled name is
placed in a region of memory allocated with malloc.
@param length If @a length is non-NULL, the length of the buffer containing
the demangled name is placed in @a *length.
@param status @a *status is set to one of the following values:
- 0: The demangling operation succeeded.
- -1: A memory allocation failiure occurred.
- -2: @a mangled_name is not a valid name under the C++ ABI
mangling rules.
- -3: One of the arguments is invalid.
@return A pointer to the start of the NUL-terminated demangled name, or NULL
if the demangling fails. The caller is responsible for deallocating
this memory using @c free.
The demangling is performed using the C++ ABI mangling rules, with
GNU extensions. For example, this function is used
in __gnu_cxx::__verbose_terminate_handler. See
http://gcc.gnu.org/onlinedocs/libstdc++/18_support/howto.html#5 for other
examples of use.
@note The same demangling functionality is available via libiberty
(@c <libiberty/demangle.h> and @c libiberty.a) in GCC 3.1 and later, but that
requires explicit installation (@c --enable-install-libiberty) and uses a
different API, although the ABI is unchanged.
*/
char* __cxa_demangle (const char* mangled_name, char* output_buffer,
size_t* length, int* status);
} // namespace abi
// // // // // // // // // // // // // // // // // // // // // // // //
/**
@ -142,10 +65,6 @@ 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.
/** @defgroup containers Containers
Containers are collections of objects.
@ -169,9 +88,9 @@ 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.
@link sequences Sequences@endlink and
@link associative_containers Associative Containers@endlink.
@link unordered_associative_containers Unordered Associative Containers@endlink.
*/
/** @defgroup sequences Sequences
@ -218,9 +137,22 @@ elements of the container.
All unordered associative containers must meet certain requirements,
summarized in <a href="tables.html">tables</a>. */
// // // // // // // // // // // // // // // // // // // // // // // //
/* * @defgroup groupname description of group
placeholder text
*/
/**
* @defgroup diagnostics Diagnostics
*
* Components for error handling, reporting, and diagnostic operations.
*/
// // // // // // // // // // // // // // // // // // // // // // // //
/**
* @defgroup concurrency Concurrency
*
* Components for concurrent operations, including threads, mutexes,
* and condition variables.
*/
/**
* @defgroup pointer_abstractions Pointer Abstractions
* @ingroup memory
*
* Components for memory allocation, deallocation, and management.
*/

View File

@ -416,7 +416,7 @@ SORT_BRIEF_DOCS = YES
# 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
SORT_GROUP_NAMES = YES
# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be
# sorted by fully-qualified names, including namespaces. If set to
@ -539,7 +539,7 @@ WARN_IF_UNDOCUMENTED = NO
# parameters in a documented function, or documenting parameters that
# don't exist or using markup commands wrongly.
WARN_IF_DOC_ERROR = NO
WARN_IF_DOC_ERROR = YES
# This WARN_NO_PARAMDOC option can be abled to get warnings for
# functions that are documented, but have no documentation for their parameters
@ -573,9 +573,11 @@ WARN_LOGFILE =
# "myfile.cpp" or directories like "/usr/src/myproject". Separate the
# files or directories with spaces.
INPUT = @srcdir@/libsupc++/cxxabi.h \
INPUT = @srcdir@/doc/doxygen/doxygroups.cc \
@srcdir@/libsupc++/cxxabi.h \
@srcdir@/libsupc++/cxxabi-forced.h \
@srcdir@/libsupc++/exception \
@srcdir@/libsupc++/exception_ptr.h \
@srcdir@/libsupc++/initializer_list \
@srcdir@/libsupc++/new \
@srcdir@/libsupc++/typeinfo \
@ -713,18 +715,18 @@ INPUT = @srcdir@/libsupc++/cxxabi.h \
include/tr1_impl/unordered_map \
include/tr1_impl/unordered_set \
include/tr1_impl/utility \
include/tr1_impl \
include/tr1 \
include/ \
include/@host_alias@/bits \
include/backward \
include/bits \
include/bits/shared_ptr.h \
include/debug \
include/parallel \
include/tr1 \
include/tr1_impl \
include/ext \
include/ext/pb_ds \
include/ext/pb_ds/detail \
@srcdir@/doc/doxygen/doxygroups.cc
include/ext/pb_ds/detail
# 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
@ -1419,6 +1421,7 @@ PREDEFINED = __cplusplus \
__GTHREADS \
_GLIBCXX_HAS_GTHREADS \
__GXX_EXPERIMENTAL_CXX0X__ \
_GLIBCXX_INCLUDE_AS_CXX0X \
"_GLIBCXX_STD_P= " \
"_GLIBCXX_STD_D= " \
_GLIBCXX_STD=std \
@ -1430,11 +1433,12 @@ PREDEFINED = __cplusplus \
_GLIBCXX_END_NAMESPACE=} \
_GLIBCXX_END_NESTED_NAMESPACE=} \
"_GLIBCXX_TEMPLATE_ARGS=... " \
_GLIBCXX_INCLUDE_AS_CXX0X \
_GLIBCXX_DEPRECATED \
_GLIBCXX_USE_WCHAR_T \
_GLIBCXX_USE_LONG_LONG \
_GLIBCXX_USE_C99_STDINT_TR1 \
_GLIBCXX_USE_SCHED_YIELD \
_GLIBCXX_USE_NANOSLEEP \
__glibcxx_function_requires=// \
__glibcxx_class_requires=// \
__glibcxx_class_requires2=// \

View File

@ -65,7 +65,7 @@
_GLIBCXX_BEGIN_NAMESPACE(std)
// 20.3.6 binders
/** @defgroup binder Binder Classes
/** @defgroup binders Binder Classes
* @ingroup functors
*
* Binders turn functions/functors with two arguments into functors with
@ -97,7 +97,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
*
* @{
*/
/// One of the @link binder binder functors@endlink.
/// One of the @link binders binder functors@endlink.
template<typename _Operation>
class binder1st
: public unary_function<typename _Operation::second_argument_type,
@ -123,7 +123,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
{ return op(value, __x); }
} _GLIBCXX_DEPRECATED_ATTR;
/// One of the @link binder binder functors@endlink.
/// One of the @link binders binder functors@endlink.
template<typename _Operation, typename _Tp>
inline binder1st<_Operation>
bind1st(const _Operation& __fn, const _Tp& __x)
@ -132,7 +132,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
return binder1st<_Operation>(__fn, _Arg1_type(__x));
}
/// One of the @link binder binder functors@endlink.
/// One of the @link binders binder functors@endlink.
template<typename _Operation>
class binder2nd
: public unary_function<typename _Operation::first_argument_type,
@ -158,7 +158,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
{ return op(__x, value); }
} _GLIBCXX_DEPRECATED_ATTR;
/// One of the @link binder binder functors@endlink.
/// One of the @link binders binder functors@endlink.
template<typename _Operation, typename _Tp>
inline binder2nd<_Operation>
bind2nd(const _Operation& __fn, const _Tp& __x)

View File

@ -129,8 +129,23 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
*/
/**
* @defgroup set_algorithms Set Operation Algorithms
* @defgroup mutating_algorithms Mutating Algorithms
* @ingroup algorithms
*/
/**
* @defgroup non_mutating_algorithms Non-Mutating Algorithms
* @ingroup algorithms
*/
/**
* @defgroup sorting_algorithms Sorting Algorithms
* @ingroup algorithms
*/
/**
* @defgroup set_algorithms Set Operation Algorithms
* @ingroup sorting_algorithms
*
* These algorithms are common set operations performed on sequences
* that are already sorted. The number of comparisons will be
@ -139,7 +154,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
/**
* @defgroup binary_search_algorithms Binary Search Algorithms
* @ingroup algorithms
* @ingroup sorting_algorithms
*
* These algorithms are variations of a classic binary search, and
* all assume that the sequence being searched is already sorted.

View File

@ -1,6 +1,6 @@
// Allocators -*- 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
@ -54,6 +54,13 @@
_GLIBCXX_BEGIN_NAMESPACE(std)
/**
* @defgroup allocators Allocators
* @ingroup memory
*
* Classes encapsulating memory operations.
*/
template<typename _Tp>
class allocator;
@ -75,6 +82,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
/**
* @brief The "standard" allocator, as per [20.4].
* @ingroup allocators
*
* Further details:
* http://gcc.gnu.org/onlinedocs/libstdc++/manual/bk01pt04ch11.html

View File

@ -1,7 +1,7 @@
// Iostreams base classes -*- C++ -*-
// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
// 2006, 2007, 2008
// 2006, 2007, 2008, 2009
// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
@ -58,6 +58,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
// 27.4.5 Template class basic_ios
/**
* @brief Virtual base class for all stream classes.
* @ingroup io
*
* Most of the member functions called dispatched on stream objects
* (e.g., @c std::cout.foo(bar);) are consolidated in this class.

View File

@ -53,7 +53,6 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
* @class basic_string basic_string.h <string>
* @brief Managing sequences of characters and character-like objects.
*
* @ingroup containers
* @ingroup sequences
*
* Meets the requirements of a <a href="tables.html#65">container</a>, a

View File

@ -400,7 +400,6 @@ _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
*
* Meets the requirements of a <a href="tables.html#65">container</a>, a

View File

@ -1,6 +1,6 @@
// The template and inlines for the -*- C++ -*- gslice class.
// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2004, 2005, 2006
// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2004, 2005, 2006, 2009
// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
@ -42,6 +42,11 @@
_GLIBCXX_BEGIN_NAMESPACE(std)
/**
* @addtogroup numeric_arrays
* @{
*/
/**
* @brief Class defining multi-dimensional subset of an array.
*
@ -175,6 +180,8 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
return *this;
}
// @} group numeric_arrays
_GLIBCXX_END_NAMESPACE
#endif /* _GSLICE_H */

View File

@ -1,6 +1,6 @@
// The template and inlines for the -*- C++ -*- gslice_array class.
// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2004, 2005
// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2004, 2005, 2009
// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
@ -42,6 +42,11 @@
_GLIBCXX_BEGIN_NAMESPACE(std)
/**
* @addtogroup numeric_arrays
* @{
*/
/**
* @brief Reference to multi-dimensional subset of an array.
*
@ -209,6 +214,8 @@ _DEFINE_VALARRAY_OPERATOR(>>, __shift_right)
#undef _DEFINE_VALARRAY_OPERATOR
// @} group numeric_arrays
_GLIBCXX_END_NAMESPACE
#endif /* _GSLICE_ARRAY_H */

View File

@ -1,6 +1,6 @@
// The template and inlines for the -*- C++ -*- indirect_array class.
// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2004, 2005
// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2004, 2005, 2009
// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
@ -42,6 +42,11 @@
_GLIBCXX_BEGIN_NAMESPACE(std)
/**
* @addtogroup numeric_arrays
* @{
*/
/**
* @brief Reference to arbitrary subset of an array.
*
@ -203,6 +208,8 @@ _DEFINE_VALARRAY_OPERATOR(>>, __shift_right)
#undef _DEFINE_VALARRAY_OPERATOR
// @} group numeric_arrays
_GLIBCXX_END_NAMESPACE
#endif /* _INDIRECT_ARRAY_H */

View File

@ -1,7 +1,7 @@
// Iostreams base classes -*- C++ -*-
// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
// 2006, 2007, 2008
// 2006, 2007, 2008, 2009
// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
@ -202,6 +202,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
// 27.4.2 Class ios_base
/**
* @brief The base of the I/O class hierarchy.
* @ingroup io
*
* This class defines everything that can be defined about I/O that does
* not depend on the type of characters being input or output. Most
@ -212,8 +213,12 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
{
public:
// 27.4.2.1.1 Class ios_base::failure
/// These are thrown to indicate problems. Doc me.
/**
* @brief These are thrown to indicate problems with io.
* @ingroup exceptions
*
* 27.4.2.1.1 Class ios_base::failure
*/
class failure : public exception
{
public:

View File

@ -1,6 +1,6 @@
// The template and inlines for the -*- C++ -*- mask_array class.
// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2004, 2005
// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2004, 2005, 2009
// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
@ -42,6 +42,11 @@
_GLIBCXX_BEGIN_NAMESPACE(std)
/**
* @addtogroup numeric_arrays
* @{
*/
/**
* @brief Reference to selected subset of an array.
*
@ -199,6 +204,8 @@ _DEFINE_VALARRAY_OPERATOR(>>, __shift_right)
#undef _DEFINE_VALARRAY_OPERATOR
// @} group numeric_arrays
_GLIBCXX_END_NAMESPACE
#endif /* _MASK_ARRAY_H */

View File

@ -1,4 +1,4 @@
// <bits/shared_ptr.h> -*- C++ -*-
// shared_ptr and weak_ptr implementation -*- C++ -*-
// Copyright (C) 2007, 2008, 2009 Free Software Foundation, Inc.
//
@ -59,8 +59,13 @@
# error C++0x header cannot be included from TR1 header
#endif
namespace std
{
_GLIBCXX_BEGIN_NAMESPACE(std)
/**
* @addtogroup pointer_abstractions
* @{
*/
// counted ptr with no deleter or allocator support
template<typename _Ptr, _Lock_policy _Lp>
class _Sp_counted_ptr
@ -541,13 +546,6 @@ namespace std
{ }
/**
* @class __shared_ptr
*
* A smart pointer with reference-counted copy semantics.
* The object pointed to is deleted when the last shared_ptr pointing to
* it is destroyed or reset.
*/
template<typename _Tp, _Lock_policy _Lp>
class __shared_ptr
{
@ -1228,10 +1226,12 @@ namespace std
mutable __weak_ptr<_Tp, _Lp> _M_weak_this;
};
/// shared_ptr
// The actual shared_ptr, with forwarding constructors and
// assignment operators.
/**
* @brief A smart pointer with reference-counted copy semantics.
*
* The object pointed to is deleted when the last shared_ptr pointing to
* it is destroyed or reset.
*/
template<typename _Tp>
class shared_ptr
: public __shared_ptr<_Tp>
@ -1405,9 +1405,11 @@ namespace std
}
/// weak_ptr
// The actual weak_ptr, with forwarding constructors and
// assignment operators.
/**
* @brief A smart pointer with weak semantics.
*
* With forwarding constructors and assignment operators.
*/
template<typename _Tp>
class weak_ptr
: public __weak_ptr<_Tp>
@ -1489,7 +1491,9 @@ namespace std
: public _Sp_owner_less<weak_ptr<_Tp>, shared_ptr<_Tp>>
{ };
/// enable_shared_from_this
/**
* @brief Base class allowing use of member function shared_from_this.
*/
template<typename _Tp>
class enable_shared_from_this
{
@ -1549,7 +1553,7 @@ namespace std
std::forward<_Args>(__args)...);
}
/** @brief Create an object that is owned by a shared_ptr.
/** @brief Create an object that is owned by a shared_ptr.
* @param __a An allocator.
* @param __args Arguments for the @a _Tp object's constructor.
* @return A shared_ptr that owns the newly created object.
@ -1582,4 +1586,6 @@ namespace std
std::forward<_Args>(__args)...);
}
}
// @} group pointer_abstractions
_GLIBCXX_END_NAMESPACE

View File

@ -1,6 +1,6 @@
// The template and inlines for the -*- C++ -*- slice_array class.
// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2004, 2005, 2006
// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2004, 2005, 2006, 2009
// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
@ -42,6 +42,11 @@
_GLIBCXX_BEGIN_NAMESPACE(std)
/**
* @addtogroup numeric_arrays
* @{
*/
/**
* @brief Class defining one-dimensional subset of an array.
*
@ -265,6 +270,8 @@ _DEFINE_VALARRAY_OPERATOR(>>, __shift_right)
#undef _DEFINE_VALARRAY_OPERATOR
// @} group numeric_arrays
_GLIBCXX_END_NAMESPACE
#endif /* _SLICE_ARRAY_H */

View File

@ -73,11 +73,6 @@
_GLIBCXX_BEGIN_NAMESPACE(std)
/**
* @addtogroup algorithms Algorithms
* @{
*/
/**
* @brief Find the median of three values.
* @param a A value.
@ -645,6 +640,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
/**
* @brief Find last matching subsequence in a sequence.
* @ingroup non_mutating_algorithms
* @param first1 Start of range to search.
* @param last1 End of range to search.
* @param first2 Start of sequence to match.
@ -688,6 +684,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
/**
* @brief Find last matching subsequence in a sequence using a predicate.
* @ingroup non_mutating_algorithms
* @param first1 Start of range to search.
* @param last1 End of range to search.
* @param first2 Start of sequence to match.
@ -738,6 +735,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
/**
* @brief Checks that a predicate is true for all the elements
* of a sequence.
* @ingroup non_mutating_algorithms
* @param first An input iterator.
* @param last An input iterator.
* @param pred A predicate.
@ -754,6 +752,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
/**
* @brief Checks that a predicate is false for all the elements
* of a sequence.
* @ingroup non_mutating_algorithms
* @param first An input iterator.
* @param last An input iterator.
* @param pred A predicate.
@ -770,6 +769,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
/**
* @brief Checks that a predicate is false for at least an element
* of a sequence.
* @ingroup non_mutating_algorithms
* @param first An input iterator.
* @param last An input iterator.
* @param pred A predicate.
@ -786,6 +786,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
/**
* @brief Find the first element in a sequence for which a
* predicate is false.
* @ingroup non_mutating_algorithms
* @param first An input iterator.
* @param last An input iterator.
* @param pred A predicate.
@ -808,6 +809,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
/**
* @brief Checks whether the sequence is partitioned.
* @ingroup mutating_algorithms
* @param first An input iterator.
* @param last An input iterator.
* @param pred A predicate.
@ -826,6 +828,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
/**
* @brief Find the partition point of a partitioned range.
* @ingroup mutating_algorithms
* @param first An iterator.
* @param last Another iterator.
* @param pred A predicate.
@ -873,6 +876,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
/**
* @brief Copy a sequence, removing elements of a given value.
* @ingroup mutating_algorithms
* @param first An input iterator.
* @param last An input iterator.
* @param result An output iterator.
@ -908,6 +912,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
/**
* @brief Copy a sequence, removing elements for which a predicate is true.
* @ingroup mutating_algorithms
* @param first An input iterator.
* @param last An input iterator.
* @param result An output iterator.
@ -946,6 +951,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
#ifdef __GXX_EXPERIMENTAL_CXX0X__
/**
* @brief Copy the elements of a sequence for which a predicate is true.
* @ingroup mutating_algorithms
* @param first An input iterator.
* @param last An input iterator.
* @param result An output iterator.
@ -1005,6 +1011,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
/**
* @brief Copies the range [first,first+n) into [result,result+n).
* @ingroup mutating_algorithms
* @param first An input iterator.
* @param n The number of elements to copy.
* @param result An output iterator.
@ -1031,6 +1038,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
/**
* @brief Copy the elements of a sequence to separate output sequences
* depending on the truth value of a predicate.
* @ingroup mutating_algorithms
* @param first An input iterator.
* @param last An input iterator.
* @param out_true An output iterator.
@ -1077,6 +1085,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
/**
* @brief Remove elements from a sequence.
* @ingroup mutating_algorithms
* @param first An input iterator.
* @param last An input iterator.
* @param value The value to be removed.
@ -1119,6 +1128,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
/**
* @brief Remove elements from a sequence using a predicate.
* @ingroup mutating_algorithms
* @param first A forward iterator.
* @param last A forward iterator.
* @param pred A predicate.
@ -1161,6 +1171,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
/**
* @brief Remove consecutive duplicate values from a sequence.
* @ingroup mutating_algorithms
* @param first A forward iterator.
* @param last A forward iterator.
* @return An iterator designating the end of the resulting sequence.
@ -1199,6 +1210,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
/**
* @brief Remove consecutive values from a sequence using a predicate.
* @ingroup mutating_algorithms
* @param first A forward iterator.
* @param last A forward iterator.
* @param binary_pred A binary predicate.
@ -1429,6 +1441,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
/**
* @brief Reverse a sequence.
* @ingroup mutating_algorithms
* @param first A bidirectional iterator.
* @param last A bidirectional iterator.
* @return reverse() returns no value.
@ -1451,6 +1464,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
/**
* @brief Copy a sequence, reversing its elements.
* @ingroup mutating_algorithms
* @param first A bidirectional iterator.
* @param last A bidirectional iterator.
* @param result An output iterator.
@ -1640,6 +1654,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
/**
* @brief Rotate the elements of a sequence.
* @ingroup mutating_algorithms
* @param first A forward iterator.
* @param middle A forward iterator.
* @param last A forward iterator.
@ -1674,6 +1689,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
/**
* @brief Copy a sequence, rotating its elements.
* @ingroup mutating_algorithms
* @param first A forward iterator.
* @param middle A forward iterator.
* @param last A forward iterator.
@ -1833,6 +1849,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
/**
* @brief Move elements for which a predicate is true to the beginning
* of a sequence, preserving relative ordering.
* @ingroup mutating_algorithms
* @param first A forward iterator.
* @param last A forward iterator.
* @param pred A predicate functor.
@ -1912,6 +1929,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
/**
* @brief Copy the smallest elements of a sequence.
* @ingroup sorting_algorithms
* @param first An iterator.
* @param last Another iterator.
* @param result_first A random-access iterator.
@ -1976,6 +1994,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
/**
* @brief Copy the smallest elements of a sequence using a predicate for
* comparison.
* @ingroup sorting_algorithms
* @param first An input iterator.
* @param last Another input iterator.
* @param result_first A random-access iterator.
@ -2440,6 +2459,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
/**
* @brief Finds the first position in which @a val could be inserted
* without changing the ordering.
* @ingroup binary_search_algorithms
* @param first An iterator.
* @param last Another iterator.
* @param val The search term.
@ -2492,6 +2512,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
/**
* @brief Finds the last position in which @a val could be inserted
* without changing the ordering.
* @ingroup binary_search_algorithms
* @param first An iterator.
* @param last Another iterator.
* @param val The search term.
@ -2538,6 +2559,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
/**
* @brief Finds the last position in which @a val could be inserted
* without changing the ordering.
* @ingroup binary_search_algorithms
* @param first An iterator.
* @param last Another iterator.
* @param val The search term.
@ -2590,6 +2612,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
/**
* @brief Finds the largest subrange in which @a val could be inserted
* at any place in it without changing the ordering.
* @ingroup binary_search_algorithms
* @param first An iterator.
* @param last Another iterator.
* @param val The search term.
@ -2717,11 +2740,11 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
/**
* @brief Determines whether an element exists in a range.
* @ingroup binary_search_algorithms
* @param first An iterator.
* @param last Another iterator.
* @param val The search term.
* @return True if @a val (or its equivalent) is in [@a first,@a last ].
* @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,12 +2769,12 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
/**
* @brief Determines whether an element exists in a range.
* @ingroup binary_search_algorithms
* @param first An iterator.
* @param last Another iterator.
* @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 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.
@ -3091,6 +3114,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
/**
* @brief Merges two sorted ranges in place.
* @ingroup sorting_algorithms
* @param first An iterator.
* @param middle Another iterator.
* @param last Another iterator.
@ -3141,6 +3165,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
/**
* @brief Merges two sorted ranges in place.
* @ingroup sorting_algorithms
* @param first An iterator.
* @param middle Another iterator.
* @param last Another iterator.
@ -3477,6 +3502,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
/**
* @brief Determines whether all elements of a sequence exists in a range
* using comparison.
* @ingroup set_algorithms
* @param first1 Start of search range.
* @param last1 End of search range.
* @param first2 Start of sequence
@ -3538,6 +3564,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
/**
* @brief Permute range into the next "dictionary" ordering.
* @ingroup sorting_algorithms
* @param first Start of range.
* @param last End of range.
* @return False if wrapped to first permutation, true otherwise.
@ -3592,6 +3619,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
/**
* @brief Permute range into the next "dictionary" ordering using
* comparison functor.
* @ingroup sorting_algorithms
* @param first Start of range.
* @param last End of range.
* @param comp A comparison functor.
@ -3648,6 +3676,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
/**
* @brief Permute range into the previous "dictionary" ordering.
* @ingroup sorting_algorithms
* @param first Start of range.
* @param last End of range.
* @return False if wrapped to last permutation, true otherwise.
@ -3703,6 +3732,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
/**
* @brief Permute range into the previous "dictionary" ordering using
* comparison functor.
* @ingroup sorting_algorithms
* @param first Start of range.
* @param last End of range.
* @param comp A comparison functor.
@ -3799,6 +3829,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
/**
* @brief Copy a sequence, replacing each value for which a predicate
* returns true with another value.
* @ingroup mutating_algorithms
* @param first An input iterator.
* @param last An input iterator.
* @param result An output iterator.
@ -3836,6 +3867,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
#ifdef __GXX_EXPERIMENTAL_CXX0X__
/**
* @brief Determines whether the elements of a sequence are sorted.
* @ingroup sorting_algorithms
* @param first An iterator.
* @param last Another iterator.
* @return True if the elements are sorted, false otherwise.
@ -3848,6 +3880,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
/**
* @brief Determines whether the elements of a sequence are sorted
* according to a comparison functor.
* @ingroup sorting_algorithms
* @param first An iterator.
* @param last Another iterator.
* @param comp A comparison functor.
@ -3861,6 +3894,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
/**
* @brief Determines the end of a sorted sequence.
* @ingroup sorting_algorithms
* @param first An iterator.
* @param last Another iterator.
* @return An iterator pointing to the last iterator i in [first, last)
@ -3888,6 +3922,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
/**
* @brief Determines the end of a sorted sequence using comparison functor.
* @ingroup sorting_algorithms
* @param first An iterator.
* @param last Another iterator.
* @param comp A comparison functor.
@ -3918,6 +3953,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
/**
* @brief Determines min and max at once as an ordered pair.
* @ingroup sorting_algorithms
* @param a A thing of arbitrary type.
* @param b Another thing of arbitrary type.
* @return A pair(b, a) if b is smaller than a, pair(a, b) otherwise.
@ -3935,6 +3971,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
/**
* @brief Determines min and max at once as an ordered pair.
* @ingroup sorting_algorithms
* @param a A thing of arbitrary type.
* @param b Another thing of arbitrary type.
* @param comp A @link comparison_functor comparison functor@endlink.
@ -3951,6 +3988,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
/**
* @brief Return a pair of iterators pointing to the minimum and maximum
* elements in a range.
* @ingroup sorting_algorithms
* @param first Start of range.
* @param last End of range.
* @return make_pair(m, M), where m is the first iterator i in
@ -4025,6 +4063,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
/**
* @brief Return a pair of iterators pointing to the minimum and maximum
* elements in a range.
* @ingroup sorting_algorithms
* @param first Start of range.
* @param last End of range.
* @param comp Comparison functor.
@ -4139,19 +4178,13 @@ _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.
* @ingroup non_mutating_algorithms
* @param first An input iterator.
* @param last An input iterator.
* @param f A unary function object.
@ -4175,6 +4208,7 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_P)
/**
* @brief Find the first occurrence of a value in a sequence.
* @ingroup non_mutating_algorithms
* @param first An input iterator.
* @param last An input iterator.
* @param val The value to find.
@ -4198,6 +4232,7 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_P)
/**
* @brief Find the first element in a sequence for which a
* predicate is true.
* @ingroup non_mutating_algorithms
* @param first An input iterator.
* @param last An input iterator.
* @param pred A predicate.
@ -4220,6 +4255,7 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_P)
/**
* @brief Find element from a set in a sequence.
* @ingroup non_mutating_algorithms
* @param first1 Start of range to search.
* @param last1 End of range to search.
* @param first2 Start of match candidates.
@ -4255,6 +4291,7 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_P)
/**
* @brief Find element from a set in a sequence using a predicate.
* @ingroup non_mutating_algorithms
* @param first1 Start of range to search.
* @param last1 End of range to search.
* @param first2 Start of match candidates.
@ -4295,6 +4332,7 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_P)
/**
* @brief Find two adjacent values in a sequence that are equal.
* @ingroup non_mutating_algorithms
* @param first A forward iterator.
* @param last A forward iterator.
* @return The first iterator @c i such that @c i and @c i+1 are both
@ -4324,6 +4362,7 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_P)
/**
* @brief Find two adjacent values in a sequence using a predicate.
* @ingroup non_mutating_algorithms
* @param first A forward iterator.
* @param last A forward iterator.
* @param binary_pred A binary predicate.
@ -4357,6 +4396,7 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_P)
/**
* @brief Count the number of copies of a value in a sequence.
* @ingroup non_mutating_algorithms
* @param first An input iterator.
* @param last An input iterator.
* @param value The value to be counted.
@ -4381,6 +4421,7 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_P)
/**
* @brief Count the elements of a sequence for which a predicate is true.
* @ingroup non_mutating_algorithms
* @param first An input iterator.
* @param last An input iterator.
* @param pred A predicate.
@ -4405,6 +4446,7 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_P)
/**
* @brief Search a sequence for a matching sub-sequence.
* @ingroup non_mutating_algorithms
* @param first1 A forward iterator.
* @param last1 A forward iterator.
* @param first2 A forward iterator.
@ -4478,6 +4520,7 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_P)
/**
* @brief Search a sequence for a matching sub-sequence using a predicate.
* @ingroup non_mutating_algorithms
* @param first1 A forward iterator.
* @param last1 A forward iterator.
* @param first2 A forward iterator.
@ -4558,6 +4601,7 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_P)
/**
* @brief Search a sequence for a number of consecutive values.
* @ingroup non_mutating_algorithms
* @param first A forward iterator.
* @param last A forward iterator.
* @param count The number of consecutive values.
@ -4592,6 +4636,7 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_P)
/**
* @brief Search a sequence for a number of consecutive values using a
* predicate.
* @ingroup non_mutating_algorithms
* @param first A forward iterator.
* @param last A forward iterator.
* @param count The number of consecutive values.
@ -4632,6 +4677,7 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_P)
/**
* @brief Perform an operation on a sequence.
* @ingroup mutating_algorithms
* @param first An input iterator.
* @param last An input iterator.
* @param result An output iterator.
@ -4665,6 +4711,7 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_P)
/**
* @brief Perform an operation on corresponding elements of two sequences.
* @ingroup mutating_algorithms
* @param first1 An input iterator.
* @param last1 An input iterator.
* @param first2 An input iterator.
@ -4703,6 +4750,7 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_P)
/**
* @brief Replace each occurrence of one value in a sequence with another
* value.
* @ingroup mutating_algorithms
* @param first A forward iterator.
* @param last A forward iterator.
* @param old_value The value to be replaced.
@ -4734,6 +4782,7 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_P)
/**
* @brief Replace each value in a sequence for which a predicate returns
* true with another value.
* @ingroup mutating_algorithms
* @param first A forward iterator.
* @param last A forward iterator.
* @param pred A predicate.
@ -4765,6 +4814,7 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_P)
/**
* @brief Assign the result of a function object to each value in a
* sequence.
* @ingroup mutating_algorithms
* @param first A forward iterator.
* @param last A forward iterator.
* @param gen A function object taking no arguments and returning
@ -4792,6 +4842,7 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_P)
/**
* @brief Assign the result of a function object to each value in a
* sequence.
* @ingroup mutating_algorithms
* @param first A forward iterator.
* @param n The length of the sequence.
* @param gen A function object taking no arguments and returning
@ -4818,6 +4869,7 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_P)
/**
* @brief Copy a sequence, removing consecutive duplicate values.
* @ingroup mutating_algorithms
* @param first An input iterator.
* @param last An input iterator.
* @param result An output iterator.
@ -4858,6 +4910,7 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_P)
/**
* @brief Copy a sequence, removing consecutive values using a predicate.
* @ingroup mutating_algorithms
* @param first An input iterator.
* @param last An input iterator.
* @param result An output iterator.
@ -4897,6 +4950,7 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_P)
/**
* @brief Randomly shuffle the elements of a sequence.
* @ingroup mutating_algorithms
* @param first A forward iterator.
* @param last A forward iterator.
* @return Nothing.
@ -4922,6 +4976,7 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_P)
/**
* @brief Shuffle the elements of a sequence using a random number
* generator.
* @ingroup mutating_algorithms
* @param first A forward iterator.
* @param last A forward iterator.
* @param rand The RNG functor or function.
@ -4952,6 +5007,7 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_P)
/**
* @brief Move elements for which a predicate is true to the beginning
* of a sequence.
* @ingroup mutating_algorithms
* @param first A forward iterator.
* @param last A forward iterator.
* @param pred A predicate functor.
@ -4983,6 +5039,7 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_P)
/**
* @brief Sort the smallest elements of a sequence.
* @ingroup sorting_algorithms
* @param first An iterator.
* @param middle Another iterator.
* @param last Another iterator.
@ -5019,6 +5076,7 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_P)
/**
* @brief Sort the smallest elements of a sequence using a predicate
* for comparison.
* @ingroup sorting_algorithms
* @param first An iterator.
* @param middle Another iterator.
* @param last Another iterator.
@ -5058,6 +5116,7 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_P)
/**
* @brief Sort a sequence just enough to find a particular position.
* @ingroup sorting_algorithms
* @param first An iterator.
* @param nth Another iterator.
* @param last Another iterator.
@ -5096,6 +5155,7 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_P)
/**
* @brief Sort a sequence just enough to find a particular position
* using a predicate for comparison.
* @ingroup sorting_algorithms
* @param first An iterator.
* @param nth Another iterator.
* @param last Another iterator.
@ -5135,6 +5195,7 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_P)
/**
* @brief Sort the elements of a sequence.
* @ingroup sorting_algorithms
* @param first An iterator.
* @param last Another iterator.
* @return Nothing.
@ -5169,6 +5230,7 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_P)
/**
* @brief Sort the elements of a sequence using a predicate for comparison.
* @ingroup sorting_algorithms
* @param first An iterator.
* @param last Another iterator.
* @param comp A comparison functor.
@ -5206,6 +5268,7 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_P)
/**
* @brief Merges two sorted ranges.
* @ingroup sorting_algorithms
* @param first1 An iterator.
* @param first2 Another iterator.
* @param last1 Another iterator.
@ -5264,6 +5327,7 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_P)
/**
* @brief Merges two sorted ranges.
* @ingroup sorting_algorithms
* @param first1 An iterator.
* @param first2 Another iterator.
* @param last1 Another iterator.
@ -5329,6 +5393,7 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_P)
/**
* @brief Sort the elements of a sequence, preserving the relative order
* of equivalent elements.
* @ingroup sorting_algorithms
* @param first An iterator.
* @param last Another iterator.
* @return Nothing.
@ -5369,6 +5434,7 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_P)
/**
* @brief Sort the elements of a sequence using a predicate for comparison,
* preserving the relative order of equivalent elements.
* @ingroup sorting_algorithms
* @param first An iterator.
* @param last Another iterator.
* @param comp A comparison functor.
@ -5413,6 +5479,7 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_P)
/**
* @brief Return the union of two sorted ranges.
* @ingroup set_algorithms
* @param first1 Start of first range.
* @param last1 End of first range.
* @param first2 Start of second range.
@ -5478,6 +5545,7 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_P)
/**
* @brief Return the union of two sorted ranges using a comparison functor.
* @ingroup set_algorithms
* @param first1 Start of first range.
* @param last1 End of first range.
* @param first2 Start of second range.
@ -5546,6 +5614,7 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_P)
/**
* @brief Return the intersection of two sorted ranges.
* @ingroup set_algorithms
* @param first1 Start of first range.
* @param last1 End of first range.
* @param first2 Start of second range.
@ -5600,6 +5669,7 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_P)
/**
* @brief Return the intersection of two sorted ranges using comparison
* functor.
* @ingroup set_algorithms
* @param first1 Start of first range.
* @param last1 End of first range.
* @param first2 Start of second range.
@ -5657,6 +5727,7 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_P)
/**
* @brief Return the difference of two sorted ranges.
* @ingroup set_algorithms
* @param first1 Start of first range.
* @param last1 End of first range.
* @param first2 Start of second range.
@ -5715,6 +5786,7 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_P)
/**
* @brief Return the difference of two sorted ranges using comparison
* functor.
* @ingroup set_algorithms
* @param first1 Start of first range.
* @param last1 End of first range.
* @param first2 Start of second range.
@ -5776,6 +5848,7 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_P)
/**
* @brief Return the symmetric difference of two sorted ranges.
* @ingroup set_algorithms
* @param first1 Start of first range.
* @param last1 End of first range.
* @param first2 Start of second range.
@ -5839,6 +5912,7 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_P)
/**
* @brief Return the symmetric difference of two sorted ranges using
* comparison functor.
* @ingroup set_algorithms
* @param first1 Start of first range.
* @param last1 End of first range.
* @param first2 Start of second range.
@ -5907,6 +5981,7 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_P)
/**
* @brief Return the minimum element in a range.
* @ingroup sorting_algorithms
* @param first Start of range.
* @param last End of range.
* @return Iterator referencing the first instance of the smallest value.
@ -5932,6 +6007,7 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_P)
/**
* @brief Return the minimum element in a range using comparison functor.
* @ingroup sorting_algorithms
* @param first Start of range.
* @param last End of range.
* @param comp Comparison functor.
@ -5961,6 +6037,7 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_P)
/**
* @brief Return the maximum element in a range.
* @ingroup sorting_algorithms
* @param first Start of range.
* @param last End of range.
* @return Iterator referencing the first instance of the largest value.
@ -5986,6 +6063,7 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_P)
/**
* @brief Return the maximum element in a range using comparison functor.
* @ingroup sorting_algorithms
* @param first Start of range.
* @param last End of range.
* @param comp Comparison functor.
@ -6012,8 +6090,6 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_P)
return __result;
}
/* @} */ // group algorithms
_GLIBCXX_END_NESTED_NAMESPACE
#endif /* _STL_ALGO_H */

View File

@ -78,11 +78,6 @@
_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.
@ -114,6 +109,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
/**
* @brief Swaps the contents of two iterators.
* @ingroup mutating_algorithms
* @param a An iterator.
* @param b Another iterator.
* @return Nothing.
@ -152,6 +148,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
/**
* @brief Swap the elements of two sequences.
* @ingroup mutating_algorithms
* @param first1 A forward iterator.
* @param last1 A forward iterator.
* @param first2 A forward iterator.
@ -180,6 +177,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
/**
* @brief This does what you think it does.
* @ingroup sorting_algorithms
* @param a A thing of arbitrary type.
* @param b Another thing of arbitrary type.
* @return The lesser of the parameters.
@ -202,6 +200,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
/**
* @brief This does what you think it does.
* @ingroup sorting_algorithms
* @param a A thing of arbitrary type.
* @param b Another thing of arbitrary type.
* @return The greater of the parameters.
@ -224,6 +223,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
/**
* @brief This does what you think it does.
* @ingroup sorting_algorithms
* @param a A thing of arbitrary type.
* @param b Another thing of arbitrary type.
* @param comp A @link comparison_functors comparison functor@endlink.
@ -244,6 +244,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
/**
* @brief This does what you think it does.
* @ingroup sorting_algorithms
* @param a A thing of arbitrary type.
* @param b Another thing of arbitrary type.
* @param comp A @link comparison_functors comparison functor@endlink.
@ -442,6 +443,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
/**
* @brief Copies the range [first,last) into result.
* @ingroup mutating_algorithms
* @param first An input iterator.
* @param last An input iterator.
* @param result An output iterator.
@ -474,6 +476,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
#ifdef __GXX_EXPERIMENTAL_CXX0X__
/**
* @brief Moves the range [first,last) into result.
* @ingroup mutating_algorithms
* @param first An input iterator.
* @param last An input iterator.
* @param result An output iterator.
@ -609,6 +612,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
/**
* @brief Copies the range [first,last) into result.
* @ingroup mutating_algorithms
* @param first A bidirectional iterator.
* @param last A bidirectional iterator.
* @param result A bidirectional iterator.
@ -644,6 +648,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
#ifdef __GXX_EXPERIMENTAL_CXX0X__
/**
* @brief Moves the range [first,last) into result.
* @ingroup mutating_algorithms
* @param first A bidirectional iterator.
* @param last A bidirectional iterator.
* @param result A bidirectional iterator.
@ -715,6 +720,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
/**
* @brief Fills the range [first,last) with copies of value.
* @ingroup mutating_algorithms
* @param first A forward iterator.
* @param last A forward iterator.
* @param value A reference-to-const of arbitrary type.
@ -769,6 +775,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
/**
* @brief Fills the range [first,first+n) with copies of value.
* @ingroup mutating_algorithms
* @param first An output iterator.
* @param n The count of copies to perform.
* @param value A reference-to-const of arbitrary type.
@ -929,19 +936,13 @@ _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.
* @ingroup non_mutating_algorithms
* @param first1 An input iterator.
* @param last1 An input iterator.
* @param first2 An input iterator.
@ -970,6 +971,7 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_P)
/**
* @brief Tests a range for element-wise equality.
* @ingroup non_mutating_algorithms
* @param first1 An input iterator.
* @param last1 An input iterator.
* @param first2 An input iterator.
@ -1000,6 +1002,7 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_P)
/**
* @brief Performs "dictionary" comparison on ranges.
* @ingroup sorting_algorithms
* @param first1 An input iterator.
* @param last1 An input iterator.
* @param first2 An input iterator.
@ -1036,6 +1039,7 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_P)
/**
* @brief Performs "dictionary" comparison on ranges.
* @ingroup sorting_algorithms
* @param first1 An input iterator.
* @param last1 An input iterator.
* @param first2 An input iterator.
@ -1075,6 +1079,7 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_P)
/**
* @brief Finds the places in ranges which don't match.
* @ingroup non_mutating_algorithms
* @param first1 An input iterator.
* @param last1 An input iterator.
* @param first2 An input iterator.
@ -1108,6 +1113,7 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_P)
/**
* @brief Finds the places in ranges which don't match.
* @ingroup non_mutating_algorithms
* @param first1 An input iterator.
* @param last1 An input iterator.
* @param first2 An input iterator.
@ -1140,8 +1146,6 @@ _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

View File

@ -467,7 +467,6 @@ _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
*
* In some terminology a %vector can be described as a dynamic

View File

@ -562,7 +562,6 @@ _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
*
* Meets the requirements of a <a href="tables.html#65">container</a>, a

View File

@ -1,6 +1,6 @@
// Heap 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
@ -66,6 +66,11 @@
_GLIBCXX_BEGIN_NAMESPACE(std)
/**
* @defgroup heap_algorithms Heap Algorithms
* @ingroup sorting_algorithms
*/
template<typename _RandomAccessIterator, typename _Distance>
_Distance
__is_heap_until(_RandomAccessIterator __first, _Distance __n)
@ -144,7 +149,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
* @brief Push an element onto a heap.
* @param first Start of heap.
* @param last End of heap + element.
* @ingroup heap
* @ingroup heap_algorithms
*
* This operation pushes the element at last-1 onto the valid heap over the
* range [first,last-1). After completion, [first,last) is a valid heap.
@ -192,7 +197,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
* @param first Start of heap.
* @param last End of heap + element.
* @param comp Comparison functor.
* @ingroup heap
* @ingroup heap_algorithms
*
* This operation pushes the element at last-1 onto the valid heap over the
* range [first,last-1). After completion, [first,last) is a valid heap.
@ -266,7 +271,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
* @brief Pop an element off a heap.
* @param first Start of heap.
* @param last End of heap.
* @ingroup heap
* @ingroup heap_algorithms
*
* This operation pops the top of the heap. The elements first and last-1
* are swapped and [first,last-1) is made into a heap.
@ -339,7 +344,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
* @param first Start of heap.
* @param last End of heap.
* @param comp Comparison functor to use.
* @ingroup heap
* @ingroup heap_algorithms
*
* This operation pops the top of the heap. The elements first and last-1
* are swapped and [first,last-1) is made into a heap. Comparisons are
@ -364,7 +369,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
* @brief Construct a heap over a range.
* @param first Start of heap.
* @param last End of heap.
* @ingroup heap
* @ingroup heap_algorithms
*
* This operation makes the elements in [first,last) into a heap.
*/
@ -403,7 +408,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
* @param first Start of heap.
* @param last End of heap.
* @param comp Comparison functor to use.
* @ingroup heap
* @ingroup heap_algorithms
*
* This operation makes the elements in [first,last) into a heap.
* Comparisons are made using comp.
@ -443,7 +448,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
* @brief Sort a heap.
* @param first Start of heap.
* @param last End of heap.
* @ingroup heap
* @ingroup heap_algorithms
*
* This operation sorts the valid heap in the range [first,last).
*/
@ -471,7 +476,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
* @param first Start of heap.
* @param last End of heap.
* @param comp Comparison functor to use.
* @ingroup heap
* @ingroup heap_algorithms
*
* This operation sorts the valid heap in the range [first,last).
* Comparisons are made using comp.
@ -500,7 +505,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
* @param first Start of range.
* @param last End of range.
* @return An iterator pointing to the first element not in the heap.
* @ingroup heap
* @ingroup heap_algorithms
*
* This operation returns the last iterator i in [first, last) for which
* the range [first, i) is a heap.
@ -526,7 +531,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
* @param last End of range.
* @param comp Comparison functor to use.
* @return An iterator pointing to the first element not in the heap.
* @ingroup heap
* @ingroup heap_algorithms
*
* This operation returns the last iterator i in [first, last) for which
* the range [first, i) is a heap. Comparisons are made using comp.
@ -551,7 +556,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
* @param first Start of range.
* @param last End of range.
* @return True if range is a heap, false otherwise.
* @ingroup heap
* @ingroup heap_algorithms
*/
template<typename _RandomAccessIterator>
inline bool
@ -564,7 +569,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
* @param last End of range.
* @param comp Comparison functor to use.
* @return True if range is a heap, false otherwise.
* @ingroup heap
* @ingroup heap_algorithms
*/
template<typename _RandomAccessIterator, typename _Compare>
inline bool

View File

@ -379,7 +379,6 @@ _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
*
* Meets the requirements of a <a href="tables.html#65">container</a>, a

View File

@ -72,7 +72,6 @@ _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 associative_containers
*
* Meets the requirements of a <a href="tables.html#65">container</a>, a

View File

@ -71,7 +71,6 @@ _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 associative_containers
*
* Meets the requirements of a <a href="tables.html#65">container</a>, a

View File

@ -71,7 +71,6 @@ _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 associative_containers
*
* Meets the requirements of a <a href="tables.html#65">container</a>, a

View File

@ -70,7 +70,6 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
/**
* @brief A standard container giving FIFO behavior.
*
* @ingroup containers
* @ingroup sequences
*
* Meets many of the requirements of a
@ -338,7 +337,6 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
/**
* @brief A standard container automatically sorting its contents.
*
* @ingroup containers
* @ingroup sequences
*
* This is not a true container, but an @e adaptor. It holds

View File

@ -71,7 +71,6 @@ _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 associative_containers
*
* Meets the requirements of a <a href="tables.html#65">container</a>, a

View File

@ -70,7 +70,6 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
/**
* @brief A standard container giving FILO behavior.
*
* @ingroup containers
* @ingroup sequences
*
* Meets many of the requirements of a

View File

@ -157,7 +157,6 @@ _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
*
* Meets the requirements of a <a href="tables.html#65">container</a>, a

View File

@ -47,6 +47,11 @@
_GLIBCXX_BEGIN_NAMESPACE(std)
/**
* @addtogroup pointer_abstractions
* @{
*/
/// Primary template, default_delete.
template<typename _Tp>
struct default_delete
@ -443,6 +448,8 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
const unique_ptr<_Up, _Up_Deleter>& __y)
{ return !(__x.get() < __y.get()); }
// @} group pointer_abstractions
_GLIBCXX_END_NAMESPACE
#endif /* _UNIQUE_PTR_H */

View File

@ -1,6 +1,6 @@
// -*- C++ -*- compatibility header.
// Copyright (C) 2008 Free Software Foundation, Inc.
// Copyright (C) 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
@ -41,6 +41,13 @@
_GLIBCXX_BEGIN_NAMESPACE(std)
_GLIBCXX_BEGIN_EXTERN_C
/**
* @defgroup atomics Atomics
*
* Components for performing atomic operations.
* @{
*/
/// Enumeration for memory_order
typedef enum memory_order
{
@ -179,6 +186,8 @@ _GLIBCXX_BEGIN_EXTERN_C
atomic_flag_clear_explicit(__g, __x); \
__r; })
// @} group atomics
_GLIBCXX_END_EXTERN_C
_GLIBCXX_END_NAMESPACE

View File

@ -1,6 +1,6 @@
// -*- C++ -*- header.
// Copyright (C) 2008
// Copyright (C) 2008, 2009
// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
@ -55,6 +55,11 @@
_GLIBCXX_BEGIN_NAMESPACE(std)
/**
* @addtogroup atomics
* @{
*/
/// kill_dependency
template<typename _Tp>
inline _Tp
@ -839,6 +844,8 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
atomic_fetch_xor(volatile __atomic_base<_ITp>* __a, _ITp __i)
{ return atomic_fetch_xor_explicit(__a, __i, memory_order_seq_cst); }
// @} group atomics
_GLIBCXX_END_NAMESPACE
#endif

View File

@ -1,6 +1,7 @@
// array allocator -*- C++ -*-
// Copyright (C) 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
// Copyright (C) 2004, 2005, 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
@ -94,6 +95,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
/**
* @brief An allocator that uses previously allocated memory.
* This memory can be externally, globally, or otherwise allocated.
* @ingroup allocators
*/
template<typename _Tp, typename _Array = std::tr1::array<_Tp, 1> >
class array_allocator : public array_allocator_base<_Tp>

View File

@ -1,6 +1,7 @@
// Bitmap Allocator. -*- C++ -*-
// Copyright (C) 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
// Copyright (C) 2004, 2005, 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
@ -706,7 +707,10 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
};
};
/// Primary template
/**
* @brief Bitmap Allocator, primary template.
* @ingroup allocators
*/
template<typename _Tp>
class bitmap_allocator : private free_list
{

View File

@ -56,6 +56,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
/**
* @brief A meta-allocator with debugging bits, as per [20.4].
* @ingroup allocators
*
* This is precisely the allocator defined in the C++ Standard.
* - all allocation calls operator new

View File

@ -1,6 +1,6 @@
// <extptr_allocator.h> -*- C++ -*-
// Copyright (C) 2008 Free Software Foundation, Inc.
// Copyright (C) 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
@ -47,6 +47,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
/**
* @brief An example allocator which uses a non-standard pointer type.
* @ingroup allocators
*
* This allocator specifies that containers use a 'relative pointer' as it's
* pointer type. (See ext/pointer.h) Memory allocation in this example

View File

@ -1,6 +1,6 @@
// Allocator that wraps "C" malloc -*- 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
@ -47,6 +47,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
/**
* @brief An allocator that uses malloc.
* @ingroup allocators
*
* This is precisely the allocator defined in the C++ Standard.
* - all allocation calls malloc

View File

@ -1,6 +1,6 @@
// MT-optimized allocator -*- C++ -*-
// Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008
// Copyright (C) 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
@ -620,6 +620,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
* size per thread plus a "global" one. Steps are taken to limit
* the per thread freelist sizes (by returning excess back to
* the "global" list).
* @ingroup allocators
*
* Further details:
* http://gcc.gnu.org/onlinedocs/libstdc++/manual/bk01pt12ch32.html

View File

@ -1,6 +1,7 @@
// Allocator that wraps operator new -*- C++ -*-
// Copyright (C) 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
// Copyright (C) 2001, 2002, 2003, 2004, 2005, 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
@ -45,6 +46,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
/**
* @brief An allocator that uses global new, as per [20.4].
* @ingroup allocators
*
* This is precisely the allocator defined in the C++ Standard.
* - all allocation calls operator new

View File

@ -1,6 +1,6 @@
// Allocators -*- 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
@ -119,7 +119,10 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
};
/// class __pool_alloc.
/**
* @brief Allocator using a memory pool with a single lock.
* @ingroup allocators
*/
template<typename _Tp>
class __pool_alloc : private __pool_alloc_base
{

View File

@ -1,6 +1,6 @@
// -*- C++ -*-
// Copyright (C) 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
// Copyright (C) 2005, 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 terms
@ -79,7 +79,10 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
get_prob();
};
/// Thown by throw_allocator.
/**
* @brief Thown by throw_allocator.
* @ingroup exceptions
*/
struct forced_exception_error : public std::exception
{ };
@ -184,7 +187,10 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
static size_t _S_label;
};
/// Allocator class with logging and exception control.
/**
* @brief Allocator class with logging and exception control.
* @ingroup allocators
*/
template<typename T>
class throw_allocator : public throw_allocator_base
{

File diff suppressed because it is too large Load Diff

View File

@ -1,6 +1,6 @@
// <chrono> -*- C++ -*-
// Copyright (C) 2008 Free Software Foundation, Inc.
// Copyright (C) 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
@ -53,6 +53,17 @@
namespace std
{
/**
* @defgroup chrono Time
* @ingroup utilities
*
* Classes and functions for time.
* @{
*/
/** @namespace std::chrono
* @brief ISO C++ 0x entities sub namespace for time and date.
*/
namespace chrono
{
template<typename _Rep, typename _Period = ratio<1>>
@ -84,7 +95,7 @@ namespace std
namespace chrono
{
// primary template for duration_cast impl.
// Primary template for duration_cast impl.
template<typename _ToDuration, typename _CF, typename _CR,
bool _NumIsOne = false, bool _DenIsOne = false>
struct __duration_cast_impl
@ -132,6 +143,7 @@ namespace std
}
};
/// duration_cast
template<typename _ToDuration, typename _Rep, typename _Period>
inline _ToDuration
duration_cast(const duration<_Rep, _Period>& __d)
@ -145,11 +157,13 @@ namespace std
__cf::num == 1, __cf::den == 1>::__cast(__d);
}
/// treat_as_floating_point
template<typename _Rep>
struct treat_as_floating_point
: is_floating_point<_Rep>
{ };
/// duration_values
template<typename _Rep>
struct duration_values
{
@ -433,11 +447,22 @@ namespace std
const duration<_Rep2, _Period2>& __rhs)
{ return !(__lhs < __rhs); }
/// nanoseconds
typedef duration<int64_t, nano> nanoseconds;
/// microseconds
typedef duration<int64_t, micro> microseconds;
/// milliseconds
typedef duration<int64_t, milli> milliseconds;
/// seconds
typedef duration<int64_t > seconds;
/// minutes
typedef duration<int, ratio< 60>> minutes;
/// hours
typedef duration<int, ratio<3600>> hours;
/// time_point
@ -496,6 +521,7 @@ namespace std
duration __d;
};
/// time_point_cast
template<typename _ToDuration, typename _Clock, typename _Duration>
inline time_point<_Clock, _ToDuration>
time_point_cast(const time_point<_Clock, _Duration>& __t)
@ -621,6 +647,7 @@ namespace std
};
#ifdef _GLIBCXX_USE_CLOCK_MONOTONIC
/// monotonic_clock
struct monotonic_clock
{
typedef chrono::nanoseconds duration;
@ -638,8 +665,10 @@ namespace std
#endif
typedef system_clock high_resolution_clock;
}
}
} // namespace chrono
// @} group chrono
} // namespace std
#endif //_GLIBCXX_USE_C99_STDINT_TR1

View File

@ -1,7 +1,7 @@
// The template and inlines for the -*- C++ -*- complex number classes.
// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
// 2006, 2007, 2008
// 2006, 2007, 2008, 2009
// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
@ -53,6 +53,14 @@
_GLIBCXX_BEGIN_NAMESPACE(std)
/**
* @defgroup complex_numbers Complex Numbers
* @ingroup numerics
*
* Classes and functions for complex numbers.
* @{
*/
// Forward declarations.
template<typename _Tp> class complex;
template<> class complex<float>;
@ -104,7 +112,6 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
template<typename _Tp> complex<_Tp> tan(const complex<_Tp>&);
/// Return complex hyperbolic tangent of @a z.
template<typename _Tp> complex<_Tp> tanh(const complex<_Tp>&);
//@}
// 26.2.2 Primary template class complex
@ -1448,8 +1455,6 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
// These bits have to be at the end of this file, so that the
// specializations have all been defined.
// ??? No, they have to be there because of compiler limitation at
// inlining. It suffices that class specializations be defined.
inline
complex<float>::complex(const complex<double>& __z)
: _M_value(__z.__rep()) { }
@ -1483,6 +1488,8 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
#endif
#endif
// @} group complex_numbers
_GLIBCXX_END_NAMESPACE
_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)

View File

@ -47,6 +47,14 @@
namespace std
{
/**
* @defgroup condition_variables Condition Variables
* @ingroup concurrency
*
* Classes for condition_variable support.
* @{
*/
/// condition_variable
class condition_variable
{
@ -211,6 +219,8 @@ namespace std
native_handle()
{ return &_M_cond; }
};
// @} group condition_variables
}
#endif // _GLIBCXX_HAS_GTHREADS && _GLIBCXX_USE_C99_STDINT_TR1

View File

@ -1,7 +1,7 @@
// File based streams -*- C++ -*-
// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
// 2006, 2007, 2008
// 2006, 2007, 2008, 2009
// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
@ -53,6 +53,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
// [27.8.1.1] template class basic_filebuf
/**
* @brief The actual work of input and output (for files).
* @ingroup io
*
* This class associates both its input and output sequence with an
* external disk file, and maintains a joint file position for both
@ -392,6 +393,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
// [27.8.1.5] Template class basic_ifstream
/**
* @brief Controlling input for files.
* @ingroup io
*
* This class supports reading from named files, using the inherited
* functions from std::basic_istream. To control the associated
@ -520,6 +522,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
// [27.8.1.8] Template class basic_ofstream
/**
* @brief Controlling output for files.
* @ingroup io
*
* This class supports reading from named files, using the inherited
* functions from std::basic_ostream. To control the associated
@ -651,6 +654,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
// [27.8.1.11] Template class basic_fstream
/**
* @brief Controlling input and output for files.
* @ingroup io
*
* This class supports reading from and writing to named files, using
* the inherited functions from std::basic_iostream. To control the

View File

@ -1,7 +1,7 @@
// Input streams -*- C++ -*-
// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
// 2006, 2007, 2008
// 2006, 2007, 2008, 2009
// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
@ -50,6 +50,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
// [27.6.1.1] Template class basic_istream
/**
* @brief Controlling input.
* @ingroup io
*
* This is the base class for all input streams. It provides text
* formatting of all builtin types, and communicates with any class
@ -758,6 +759,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
// 27.6.1.5 Template class basic_iostream
/**
* @brief Merging istream and ostream capabilities.
* @ingroup io
*
* This class multiply inherits from the input and output stream classes
* simply to provide a single interface.

View File

@ -1,6 +1,6 @@
// <memory> -*- 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
@ -95,4 +95,11 @@
# include <backward/auto_ptr.h>
#endif
/**
* @defgroup memory Memory
* @ingroup utilities
*
* Components for memory allocation, deallocation, and management.
*/
#endif /* _GLIBCXX_MEMORY */

View File

@ -56,6 +56,14 @@
namespace std
{
/**
* @defgroup mutexes Mutexes
* @ingroup concurrency
*
* Classes for mutex support.
* @{
*/
/// mutex
class mutex
{
@ -383,7 +391,11 @@ namespace std
extern const try_to_lock_t try_to_lock;
extern const adopt_lock_t adopt_lock;
/// Thrown to indicate errors with lock operations.
/**
* @brief Thrown to indicate errors with lock operations.
*
* @ingroup exceptions
*/
class lock_error : public exception
{
public:
@ -682,6 +694,7 @@ namespace std
return __try_lock_impl<0>::__do_try_lock(__locks);
}
/// lock
template<typename _L1, typename _L2, typename ..._L3>
void
lock(_L1&, _L2&, _L3&...);
@ -727,6 +740,7 @@ namespace std
extern "C" void __once_proxy();
/// call_once
template<typename _Callable, typename... _Args>
void
call_once(once_flag& __once, _Callable __f, _Args&&... __args)
@ -751,6 +765,8 @@ namespace std
if (__e)
__throw_system_error(__e);
}
// @} group mutexes
}
#endif // _GLIBCXX_HAS_GTHREADS && _GLIBCXX_USE_C99_STDINT_TR1

View File

@ -1,7 +1,7 @@
// Output streams -*- C++ -*-
// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
// 2006, 2007, 2008
// 2006, 2007, 2008, 2009
// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
@ -50,6 +50,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
// [27.6.2.1] Template class basic_ostream
/**
* @brief Controlling output.
* @ingroup io
*
* This is the base class for all output streams. It provides text
* formatting of all builtin types, and communicates with any class

View File

@ -1,6 +1,6 @@
// <ratio> -*- C++ -*-
// ratio -*- C++ -*-
// Copyright (C) 2008 Free Software Foundation, Inc.
// Copyright (C) 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
@ -47,6 +47,14 @@
namespace std
{
/**
* @defgroup ratio Rational Arithmetic
* @ingroup utilities
*
* Compile time representation of fininte rational numbers.
* @{
*/
template<intmax_t _Pn>
struct __static_sign
: integral_constant<intmax_t, (_Pn < 0) ? -1 : 1>
@ -132,7 +140,7 @@ namespace std
/**
* @brief Provides compile-time rational arithmetic.
*
*
* This class template represents any finite rational number with a
* numerator and denominator representable by compile-time constants of
* type intmax_t. The ratio is simplified when instantiated.
@ -289,6 +297,8 @@ namespace std
typedef ratio< 1000000000000, 1> tera;
typedef ratio< 1000000000000000, 1> peta;
typedef ratio< 1000000000000000000, 1> exa;
// @} group ratio
}
#endif //_GLIBCXX_USE_C99_STDINT_TR1

View File

@ -1,7 +1,7 @@
// String based streams -*- C++ -*-
// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
// 2006, 2008 Free Software Foundation, Inc.
// 2006, 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
@ -49,6 +49,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
// [27.7.1] template class basic_stringbuf
/**
* @brief The actual work of input and output (for std::string).
* @ingroup io
*
* This class associates either or both of its input and output sequences
* with a sequence of characters, which can be initialized from, or made
@ -249,6 +250,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
// [27.7.2] Template class basic_istringstream
/**
* @brief Controlling input for std::string.
* @ingroup io
*
* This class supports reading from objects of type std::basic_string,
* using the inherited functions from std::basic_istream. To control
@ -358,6 +360,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
// [27.7.3] Template class basic_ostringstream
/**
* @brief Controlling output for std::string.
* @ingroup io
*
* This class supports writing to objects of type std::basic_string,
* using the inherited functions from std::basic_ostream. To control
@ -467,6 +470,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
// [27.7.4] Template class basic_stringstream
/**
* @brief Controlling input and output for std::string.
* @ingroup io
*
* This class supports reading from and writing to objects of type
* std::basic_string, using the inherited functions from

View File

@ -1,6 +1,6 @@
// Standard exception classes -*- C++ -*-
// Copyright (C) 2001, 2002, 2005, 2007 Free Software Foundation, Inc.
// Copyright (C) 2001, 2002, 2005, 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
@ -45,6 +45,11 @@
_GLIBCXX_BEGIN_NAMESPACE(std)
/**
* @addtogroup exceptions
* @{
*/
/** Logic errors represent problems in the internal logic of a program;
* in theory, these are preventable, and even detectable before the
* program runs (e.g., violations of class invariants).
@ -143,6 +148,8 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
explicit underflow_error(const string& __arg);
};
// @} group exceptions
_GLIBCXX_END_NAMESPACE
#endif /* _GLIBCXX_STDEXCEPT */

View File

@ -318,7 +318,11 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
{ return !(__lhs == __rhs); }
/// Thrown to indicate error code of underlying system.
/**
* @brief Thrown to indicate error code of underlying system.
*
* @ingroup exceptions
*/
class system_error : public std::runtime_error
{
private:

View File

@ -53,6 +53,14 @@
namespace std
{
/**
* @defgroup threads Threads
* @ingroup concurrency
*
* Classes for thread support.
* @{
*/
/// thread
class thread
{
@ -225,7 +233,10 @@ namespace std
return __out << __id._M_thread;
}
// 30.2.2 Namespace this_thread.
/** @namespace std::this_thread
* @brief ISO C++ 0x entities sub namespace for thread.
* 30.2.2 Namespace this_thread.
*/
namespace this_thread
{
/// get_id
@ -267,6 +278,8 @@ namespace std
}
#endif
}
// @} group threads
}
#endif // _GLIBCXX_HAS_GTHREADS && _GLIBCXX_USE_C99_STDINT_TR1

View File

@ -1,6 +1,6 @@
// <type_traits> -*- C++ -*-
// C++0x type_traits -*- 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
@ -62,6 +62,10 @@
namespace std
{
/** @addtogroup metaprogramming
* @{
*/
// Primary classification traits.
/// is_lvalue_reference
@ -314,25 +318,26 @@ namespace std
// Define a nested type if some predicate holds.
/// Primary template.
// Primary template.
/// enable_if
template<bool, typename _Tp = void>
struct enable_if
{ };
/// Partial specialization for true.
// Partial specialization for true.
template<typename _Tp>
struct enable_if<true, _Tp>
{ typedef _Tp type; };
// A conditional expression, but for types.
// If true, first, if false, second.
/// Primary template.
// A conditional expression, but for types. If true, first, if false, second.
// Primary template.
/// conditional
template<bool _Cond, typename _Iftrue, typename _Iffalse>
struct conditional
{ typedef _Iftrue type; };
/// Partial specialization for false.
// Partial specialization for false.
template<typename _Iftrue, typename _Iffalse>
struct conditional<false, _Iftrue, _Iffalse>
{ typedef _Iffalse type; };
@ -471,7 +476,8 @@ namespace std
// Given an integral/enum type, return the corresponding unsigned
// integer type.
/// Primary template.
// Primary template.
/// make_unsigned
template<typename _Tp>
struct make_unsigned
{ typedef typename __make_unsigned_selector<_Tp>::__type type; };
@ -549,7 +555,8 @@ namespace std
// Given an integral/enum type, return the corresponding signed
// integer type.
/// Primary template.
// Primary template.
/// make_signed
template<typename _Tp>
struct make_signed
{ typedef typename __make_signed_selector<_Tp>::__type type; };
@ -558,6 +565,7 @@ namespace std
template<>
struct make_signed<bool>;
/// common_type
template<typename... _Tp>
struct common_type;
@ -592,6 +600,8 @@ namespace std
typedef typename
common_type<typename common_type<_Tp, _Up>::type, _Vp...>::type type;
};
// @} group metaprogramming
}
#endif // __GXX_EXPERIMENTAL_CXX0X__

View File

@ -1,7 +1,7 @@
// The template and inlines for the -*- C++ -*- valarray class.
// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
// 2006, 2007
// 2006, 2007, 2009
// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
@ -94,6 +94,14 @@ _GLIBCXX_END_NAMESPACE
_GLIBCXX_BEGIN_NAMESPACE(std)
/**
* @defgroup numeric_arrays Numeric Arrays
* @ingroup numerics
*
* Classes and functions for representing and manipulating arrays of elements.
* @{
*/
/**
* @brief Smart array designed to support numeric processing.
*
@ -552,6 +560,8 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
return _M_data[__i];
}
// @} group numeric_arrays
_GLIBCXX_END_NAMESPACE
#include <bits/valarray_after.h>
@ -563,6 +573,11 @@ _GLIBCXX_END_NAMESPACE
_GLIBCXX_BEGIN_NAMESPACE(std)
/**
* @addtogroup numeric_arrays
* @{
*/
template<typename _Tp>
inline
valarray<_Tp>::valarray() : _M_size(0), _M_data(0) {}
@ -1069,6 +1084,8 @@ _DEFINE_BINARY_OPERATOR(>=, __greater_equal)
#undef _DEFINE_BINARY_OPERATOR
// @} group numeric_arrays
_GLIBCXX_END_NAMESPACE
#endif /* _GLIBCXX_VALARRAY */

View File

@ -39,7 +39,6 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1
/**
* @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

View File

@ -1,6 +1,6 @@
// TR1 complex -*- 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,6 +36,11 @@ namespace std
{
_GLIBCXX_BEGIN_NAMESPACE_TR1
/**
* @addtogroup complex_numbers
* @{
*/
// Forward declarations.
template<typename _Tp> std::complex<_Tp> acos(const std::complex<_Tp>&);
template<typename _Tp> std::complex<_Tp> asin(const std::complex<_Tp>&);
@ -51,9 +56,6 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1
template<typename _Tp> std::complex<_Tp> fabs(const std::complex<_Tp>&);
#endif
/// acos(__z) [8.1.2].
// Effects: Behaves the same as C99 function cacos, defined
// in subclause 7.3.5.1.
template<typename _Tp>
inline std::complex<_Tp>
__complex_acos(const std::complex<_Tp>& __z)
@ -81,15 +83,15 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1
acos(const std::complex<_Tp>& __z)
{ return __complex_acos(__z.__rep()); }
#else
/// acos(__z) [8.1.2].
// Effects: Behaves the same as C99 function cacos, defined
// in subclause 7.3.5.1.
template<typename _Tp>
inline std::complex<_Tp>
acos(const std::complex<_Tp>& __z)
{ return __complex_acos(__z); }
#endif
/// asin(__z) [8.1.3].
// Effects: Behaves the same as C99 function casin, defined
// in subclause 7.3.5.2.
template<typename _Tp>
inline std::complex<_Tp>
__complex_asin(const std::complex<_Tp>& __z)
@ -117,15 +119,15 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1
asin(const std::complex<_Tp>& __z)
{ return __complex_asin(__z.__rep()); }
#else
/// asin(__z) [8.1.3].
// Effects: Behaves the same as C99 function casin, defined
// in subclause 7.3.5.2.
template<typename _Tp>
inline std::complex<_Tp>
asin(const std::complex<_Tp>& __z)
{ return __complex_asin(__z); }
#endif
/// atan(__z) [8.1.4].
// Effects: Behaves the same as C99 function catan, defined
// in subclause 7.3.5.3.
template<typename _Tp>
std::complex<_Tp>
__complex_atan(const std::complex<_Tp>& __z)
@ -161,15 +163,15 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1
atan(const std::complex<_Tp>& __z)
{ return __complex_atan(__z.__rep()); }
#else
/// atan(__z) [8.1.4].
// Effects: Behaves the same as C99 function catan, defined
// in subclause 7.3.5.3.
template<typename _Tp>
inline std::complex<_Tp>
atan(const std::complex<_Tp>& __z)
{ return __complex_atan(__z); }
#endif
/// acosh(__z) [8.1.5].
// Effects: Behaves the same as C99 function cacosh, defined
// in subclause 7.3.6.1.
template<typename _Tp>
std::complex<_Tp>
__complex_acosh(const std::complex<_Tp>& __z)
@ -200,15 +202,15 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1
acosh(const std::complex<_Tp>& __z)
{ return __complex_acosh(__z.__rep()); }
#else
/// acosh(__z) [8.1.5].
// Effects: Behaves the same as C99 function cacosh, defined
// in subclause 7.3.6.1.
template<typename _Tp>
inline std::complex<_Tp>
acosh(const std::complex<_Tp>& __z)
{ return __complex_acosh(__z); }
#endif
/// asinh(__z) [8.1.6].
// Effects: Behaves the same as C99 function casin, defined
// in subclause 7.3.6.2.
template<typename _Tp>
std::complex<_Tp>
__complex_asinh(const std::complex<_Tp>& __z)
@ -239,15 +241,15 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1
asinh(const std::complex<_Tp>& __z)
{ return __complex_asinh(__z.__rep()); }
#else
/// asinh(__z) [8.1.6].
// Effects: Behaves the same as C99 function casin, defined
// in subclause 7.3.6.2.
template<typename _Tp>
inline std::complex<_Tp>
asinh(const std::complex<_Tp>& __z)
{ return __complex_asinh(__z); }
#endif
/// atanh(__z) [8.1.7].
// Effects: Behaves the same as C99 function catanh, defined
// in subclause 7.3.6.3.
template<typename _Tp>
std::complex<_Tp>
__complex_atanh(const std::complex<_Tp>& __z)
@ -283,21 +285,24 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1
atanh(const std::complex<_Tp>& __z)
{ return __complex_atanh(__z.__rep()); }
#else
/// atanh(__z) [8.1.7].
// Effects: Behaves the same as C99 function catanh, defined
// in subclause 7.3.6.3.
template<typename _Tp>
inline std::complex<_Tp>
atanh(const std::complex<_Tp>& __z)
{ return __complex_atanh(__z); }
#endif
/// fabs(__z) [8.1.8].
// Effects: Behaves the same as C99 function cabs, defined
// in subclause 7.3.8.1.
template<typename _Tp>
#ifdef _GLIBCXX_INCLUDE_AS_CXX0X
inline _Tp
#else
inline std::complex<_Tp>
#endif
/// fabs(__z) [8.1.8].
// Effects: Behaves the same as C99 function cabs, defined
// in subclause 7.3.8.1.
fabs(const std::complex<_Tp>& __z)
{ return std::abs(__z); }
@ -364,5 +369,7 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1
std::complex<__type>(__y));
}
// @} group complex_numbers
_GLIBCXX_END_NAMESPACE_TR1
}

View File

@ -1,6 +1,6 @@
// TR1 functional header -*- 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
@ -827,9 +827,13 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1
/// The type of placeholder objects defined by libstdc++.
template<int _Num> struct _Placeholder { };
// Define a large number of placeholders. There is no way to
// simplify this with variadic templates, because we're introducing
// unique names for each.
/** @namespace std::placeholders
* @brief ISO C++ 0x entities sub namespace for functional.
*
* Define a large number of placeholders. There is no way to
* simplify this with variadic templates, because we're introducing
* unique names for each.
*/
namespace placeholders
{
namespace

View File

@ -40,11 +40,14 @@ namespace std
_GLIBCXX_BEGIN_NAMESPACE_TR1
/**
* @addtogroup tr1_regex Regular Expressions
* @defgroup tr1_regex Regular Expressions
* A facility for performing regular expression pattern matching.
*/
//@{
/** @namespace std::regex_constants
* @brief ISO C++ 0x entities sub namespace for regex.
*/
namespace regex_constants
{
/**
@ -387,9 +390,10 @@ namespace regex_constants
// [7.8] Class regex_error
/**
* @brief A regular expression exception class.
* @brief A regular expression exception class.
* @ingroup exceptions
*
* The regular expression library throws objects of this class on error.
* The regular expression library throws objects of this class on error.
*/
class regex_error
: public std::runtime_error
@ -2703,7 +2707,7 @@ namespace regex_constants
typedef regex_token_iterator<wstring::const_iterator> wsregex_token_iterator;
#endif
//@} // group tr1_regex
//@}
_GLIBCXX_END_NAMESPACE_TR1
}

View File

@ -1,6 +1,6 @@
// TR1 type_traits -*- 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,6 +36,14 @@ namespace std
{
_GLIBCXX_BEGIN_NAMESPACE_TR1
/**
* @defgroup metaprogramming Type Traits
* @ingroup utilities
*
* Compile time type transformation and information.
* @{
*/
// For use in __is_convertible_simple.
struct __sfinae_types
{
@ -57,7 +65,9 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1
struct _Trait<_Type> \
: public integral_constant<bool, _Value> { };
/// helper classes [4.3].
// helper classes [4.3].
/// integral_constant
template<typename _Tp, _Tp __v>
struct integral_constant
{
@ -75,6 +85,7 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1
template<typename _Tp, _Tp __v>
const _Tp integral_constant<_Tp, __v>::value;
/// remove_cv
template<typename>
struct remove_cv;
@ -83,7 +94,9 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1
: public false_type { };
_DEFINE_SPEC(0, __is_void_helper, void, true)
/// primary type categories [4.5.1].
// primary type categories [4.5.1].
/// is_void
template<typename _Tp>
struct is_void
: public integral_constant<bool, (__is_void_helper<typename
@ -230,7 +243,9 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1
remove_cv<_Tp>::type>::value)>
{ };
/// composite type traits [4.5.2].
// composite type traits [4.5.2].
/// is_arithmetic
template<typename _Tp>
struct is_arithmetic
: public integral_constant<bool, (is_integral<_Tp>::value
@ -278,12 +293,12 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1
|| is_member_function_pointer<_Tp>::value)>
{ };
/// type properties [4.5.3].
// type properties [4.5.3].
/// is_const
template<typename>
struct is_const
: public false_type { };
/// is_const
template<typename _Tp>
struct is_const<_Tp const>
: public true_type { };
@ -358,7 +373,9 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1
_Uint - 1>::value>
{ };
/// relationships between types [4.6].
// relationships between types [4.6].
/// is_same
template<typename, typename>
struct is_same
: public false_type { };
@ -367,7 +384,9 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1
struct is_same<_Tp, _Tp>
: public true_type { };
/// const-volatile modifications [4.7.1].
// const-volatile modifications [4.7.1].
/// remove_const
template<typename _Tp>
struct remove_const
{ typedef _Tp type; };
@ -411,7 +430,9 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1
add_const<typename add_volatile<_Tp>::type>::type type;
};
/// array modifications [4.7.3].
// array modifications [4.7.3].
/// remove_extent
template<typename _Tp>
struct remove_extent
{ typedef _Tp type; };
@ -437,7 +458,8 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1
struct remove_all_extents<_Tp[]>
{ typedef typename remove_all_extents<_Tp>::type type; };
/// pointer modifications [4.7.4].
// pointer modifications [4.7.4].
template<typename _Tp, typename>
struct __remove_pointer_helper
{ typedef _Tp type; };
@ -465,5 +487,6 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1
#undef _DEFINE_SPEC_2_HELPER
#undef _DEFINE_SPEC
// @} group metaprogramming
_GLIBCXX_END_NAMESPACE_TR1
}

View File

@ -173,7 +173,6 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1
* 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
@ -256,7 +255,6 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1
* (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

View File

@ -169,7 +169,6 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1
* 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
@ -249,7 +248,6 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1
* (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

View File

@ -1,6 +1,6 @@
// cxxabi.h subset for inclusion by other library headers -*- C++ -*-
// Copyright (C) 2007 Free Software Foundation, Inc.
// Copyright (C) 2007, 2009 Free Software Foundation, Inc.
//
// This file is part of GCC.
//
@ -36,8 +36,13 @@
#ifdef __cplusplus
namespace __cxxabiv1
{
// A magic placeholder class that can be caught by reference
// to recognize forced unwinding.
/**
* @brief Thrown as part of forced unwinding.
* @ingroup exceptions
*
* A magic placeholder class that can be caught by reference to
* recognize forced unwinding.
*/
class __forced_unwind
{
virtual ~__forced_unwind() throw();

View File

@ -1,6 +1,7 @@
// new abi support -*- C++ -*-
// Copyright (C) 2000, 2002, 2003, 2004, 2006, 2007 Free Software Foundation, Inc.
// Copyright (C) 2000, 2002, 2003, 2004, 2006, 2007, 2009
// Free Software Foundation, Inc.
//
// This file is part of GCC.
//
@ -148,7 +149,47 @@ namespace __cxxabiv1
int
__cxa_finalize(void*);
// Demangling routines.
/**
* @brief Demangling routine.
* ABI-mandated entry point in the C++ runtime library for demangling.
*
* @param __mangled_name A NUL-terminated character string
* containing the name to be demangled.
*
* @param __output_buffer A region of memory, allocated with
* malloc, of @a *__length bytes, into which the demangled name is
* stored. If @a __output_buffer is not long enough, it is
* expanded using realloc. @a __output_buffer may instead be NULL;
* in that case, the demangled name is placed in a region of memory
* allocated with malloc.
*
* @param __length If @a __length is non-NULL, the length of the
* buffer containing the demangled name is placed in @a *__length.
*
* @param __status @a *__status is set to one of the following values:
* 0: The demangling operation succeeded.
* -1: A memory allocation failiure occurred.
* -2: @a mangled_name is not a valid name under the C++ ABI mangling rules.
* -3: One of the arguments is invalid.
*
* @return A pointer to the start of the NUL-terminated demangled
* name, or NULL if the demangling fails. The caller is
* responsible for deallocating this memory using @c free.
*
* The demangling is performed using the C++ ABI mangling rules,
* with GNU extensions. For example, this function is used in
* __gnu_cxx::__verbose_terminate_handler.
*
* See http://gcc.gnu.org/onlinedocs/libstdc++/manual/bk01pt12ch39.html
* for other examples of use.
*
* @note The same demangling functionality is available via
* libiberty (@c <libiberty/demangle.h> and @c libiberty.a) in GCC
* 3.1 and later, but that requires explicit installation (@c
* --enable-install-libiberty) and uses a different API, although
* the ABI is unchanged.
*/
char*
__cxa_demangle(const char* __mangled_name, char* __output_buffer,
size_t* __length, int* __status);
@ -543,7 +584,26 @@ namespace __cxxabiv1
} // namespace __cxxabiv1
// User programs should use the alias `abi'.
/** @namespace abi
* @brief The cross-vendor C++ Application Binary Interface. A
* namespace alias to __cxxabiv1, but user programs should use the
* alias `abi'.
*
* A brief overview of an ABI is given in the libstdc++ FAQ, question
* 5.8 (you may have a copy of the FAQ locally, or you can view the online
* version at http://gcc.gnu.org/onlinedocs/libstdc++/faq/index.html#5_8).
*
* GCC subscribes to a cross-vendor ABI for C++, sometimes
* called the IA64 ABI because it happens to be the native ABI for that
* platform. It is summarized at http://www.codesourcery.com/cxx-abi/
* along with the current specification.
*
* For users of GCC greater than or equal to 3.x, entry points are
* available in <cxxabi.h>, which notes, <em>"It is not normally
* necessary for user programs to include this header, or use the
* entry points directly. However, this header is available should
* that be needed."</em>
*/
namespace abi = __cxxabiv1;
#endif // __cplusplus

View File

@ -1,7 +1,7 @@
// Exception Handling support header for -*- C++ -*-
// Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003,
// 2004, 2005, 2006, 2007, 2008
// 2004, 2005, 2006, 2007, 2008, 2009
// Free Software Foundation
//
// This file is part of GCC.
@ -45,6 +45,14 @@ extern "C++" {
namespace std
{
/**
* @defgroup exceptions Exceptions
* @ingroup diagnostics
*
* Classes and functions for reporting errors via exception classes.
* @{
*/
/**
* @brief Base class for all library exceptions.
*
@ -111,21 +119,28 @@ namespace std
*/
bool uncaught_exception() throw();
// @} group exceptions
} // namespace std
_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
/** A replacement for the standard terminate_handler which prints more
information about the terminating exception (if any) on stderr. Call
@code
std::set_terminate (__gnu_cxx::__verbose_terminate_handler)
@endcode
to use. For more info, see
http://gcc.gnu.org/onlinedocs/libstdc++/19_diagnostics/howto.html#4
In 3.4 and later, this is on by default.
*/
void __verbose_terminate_handler ();
/**
* @brief A replacement for the standard terminate_handler which
* prints more information about the terminating exception (if any)
* on stderr.
*
* @ingroup exceptions
*
* Call
* @code
* std::set_terminate(__gnu_cxx::__verbose_terminate_handler)
* @endcode
* to use. For more info, see
* http://gcc.gnu.org/onlinedocs/libstdc++/manual/bk01pt02ch06s02.html
*
* In 3.4 and later, this is on by default.
*/
void __verbose_terminate_handler();
_GLIBCXX_END_NAMESPACE

View File

@ -49,6 +49,11 @@ extern "C++" {
namespace std
{
/**
* @addtogroup exceptions
* @{
*/
// Hide the free operators from other types
namespace __exception_ptr
{
@ -70,16 +75,17 @@ namespace std
void rethrow_exception(exception_ptr) __attribute__ ((__noreturn__));
/// Obtain an %exception_ptr pointing to a copy of the supplied object.
template <class _Ex>
exception_ptr copy_exception(_Ex __ex) throw();
template<typename _Ex>
exception_ptr
copy_exception(_Ex __ex) throw();
namespace __exception_ptr
{
bool operator==(const exception_ptr&,
const exception_ptr&) throw();
bool operator!=(const exception_ptr&,
const exception_ptr&) throw();
bool
operator==(const exception_ptr&, const exception_ptr&) throw();
bool
operator!=(const exception_ptr&, const exception_ptr&) throw();
class exception_ptr
{
@ -109,16 +115,16 @@ namespace std
#ifdef __GXX_EXPERIMENTAL_CXX0X__
exception_ptr(exception_ptr&& __o) throw()
: _M_exception_object(__o._M_exception_object)
{
__o._M_exception_object = 0;
}
: _M_exception_object(__o._M_exception_object)
{ __o._M_exception_object = 0; }
#endif
exception_ptr& operator=(const exception_ptr&) throw();
exception_ptr&
operator=(const exception_ptr&) throw();
#ifdef __GXX_EXPERIMENTAL_CXX0X__
exception_ptr& operator=(exception_ptr&& __o) throw()
exception_ptr&
operator=(exception_ptr&& __o) throw()
{
exception_ptr(__o).swap(*this);
return *this;
@ -127,10 +133,12 @@ namespace std
~exception_ptr() throw();
void swap(exception_ptr&) throw();
void
swap(exception_ptr&) throw();
#ifdef __GXX_EXPERIMENTAL_CXX0X__
void swap(exception_ptr &&__o) throw()
void
swap(exception_ptr &&__o) throw()
{
void *__tmp = _M_exception_object;
_M_exception_object = __o._M_exception_object;
@ -141,28 +149,31 @@ namespace std
bool operator!() const throw();
operator __safe_bool() const throw();
friend bool operator==(const exception_ptr&,
const exception_ptr&) throw();
friend bool
operator==(const exception_ptr&, const exception_ptr&) throw();
const type_info *__cxa_exception_type() const throw();
const type_info*
__cxa_exception_type() const throw();
};
} // namespace __exception_ptr
template <class _Ex>
exception_ptr copy_exception(_Ex __ex) throw()
{
__try
{
throw __ex;
}
__catch(...)
{
return current_exception ();
}
}
template<typename _Ex>
exception_ptr
copy_exception(_Ex __ex) throw()
{
__try
{
throw __ex;
}
__catch(...)
{
return current_exception ();
}
}
// @} group exceptions
} // namespace std
} // extern "C++"

View File

@ -1,7 +1,7 @@
// The -*- C++ -*- dynamic memory management header.
// Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
// 2003, 2004, 2005, 2006, 2007
// 2003, 2004, 2005, 2006, 2007, 2009
// Free Software Foundation
// This file is part of GCC.
@ -52,6 +52,7 @@ namespace std
{
/**
* @brief Exception possibly thrown by @c new.
* @ingroup exceptions
*
* @c bad_alloc (or classes derived from it) is used to report allocation
* errors from the throwing forms of @c new. */

View File

@ -160,6 +160,7 @@ namespace std
/**
* @brief Thrown during incorrect typecasting.
* @ingroup exceptions
*
* If you attempt an invalid @c dynamic_cast expression, an instance of
* this class (or something derived from this class) is thrown. */
@ -176,7 +177,10 @@ namespace std
virtual const char* what() const throw();
};
/** If you use a NULL pointer in a @c typeid expression, this is thrown. */
/**
* @brief Thrown when a NULL pointer in a @c typeid expression is used.
* @ingroup exceptions
*/
class bad_typeid : public exception
{
public:

View File

@ -2,7 +2,7 @@
// { dg-options "-std=gnu++0x" }
// { dg-require-cstdint "" }
// Copyright (C) 2008 Free Software Foundation
// Copyright (C) 2008, 2009 Free Software Foundation
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@ -41,6 +41,6 @@ test02()
// { dg-error "instantiated from here" "" { target *-*-* } 30 }
// { dg-error "instantiated from here" "" { target *-*-* } 39 }
// { dg-error "not exactly representable" "" { target *-*-* } 218 }
// { dg-error "integral duration with floating point" "" { target *-*-* } 208 }
// { dg-error "not exactly representable" "" { target *-*-* } 232 }
// { dg-error "integral duration with floating point" "" { target *-*-* } 222 }
// { dg-excess-errors "In instantiation of" }

View File

@ -3,7 +3,7 @@
// { dg-require-cstdint "" }
// 2008-07-31 Chris Fairles <chris.fairles@gmail.com>
// Copyright (C) 2008 Free Software Foundation, Inc.
// Copyright (C) 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,6 +40,6 @@ void test01()
test_type d;
}
// { dg-error "rep cannot be a duration" "" { target *-*-* } 193 }
// { dg-error "rep cannot be a duration" "" { target *-*-* } 207 }
// { dg-error "instantiated from here" "" { target *-*-* } 40 }
// { dg-excess-errors "In instantiation of" }

View File

@ -3,7 +3,7 @@
// { dg-require-cstdint "" }
// 2008-07-31 Chris Fairles <chris.fairles@gmail.com>
// Copyright (C) 2008 Free Software Foundation, Inc.
// Copyright (C) 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
@ -41,6 +41,6 @@ void test01()
test_type d;
}
// { dg-error "must be a specialization of ratio" "" { target *-*-* } 194 }
// { dg-error "must be a specialization of ratio" "" { target *-*-* } 208 }
// { dg-error "instantiated from here" "" { target *-*-* } 41 }
// { dg-excess-errors "In instantiation of" }

View File

@ -3,7 +3,7 @@
// { dg-require-cstdint "" }
// 2008-07-31 Chris Fairles <chris.fairles@gmail.com>
// Copyright (C) 2008 Free Software Foundation, Inc.
// Copyright (C) 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
@ -42,6 +42,6 @@ void test01()
test_type d;
}
// { dg-error "period must be positive" "" { target *-*-* } 196 }
// { dg-error "period must be positive" "" { target *-*-* } 210 }
// { dg-error "instantiated from here" "" { target *-*-* } 42 }
// { dg-excess-errors "In instantiation of" }

View File

@ -3,7 +3,7 @@
// 2007-05-03 Benjamin Kosnik <bkoz@redhat.com>
//
// 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
@ -49,8 +49,8 @@ void test01()
// { dg-error "instantiated from here" "" { target *-*-* } 41 }
// { dg-error "instantiated from here" "" { target *-*-* } 43 }
// { dg-error "invalid use of incomplete type" "" { target *-*-* } 555 }
// { dg-error "declaration of" "" { target *-*-* } 518 }
// { dg-error "invalid use of incomplete type" "" { target *-*-* } 562 }
// { dg-error "declaration of" "" { target *-*-* } 524 }
// { dg-excess-errors "At global scope" }
// { dg-excess-errors "In instantiation of" }

View File

@ -3,7 +3,7 @@
// 2007-05-03 Benjamin Kosnik <bkoz@redhat.com>
//
// 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
@ -49,8 +49,8 @@ void test01()
// { dg-error "instantiated from here" "" { target *-*-* } 41 }
// { dg-error "instantiated from here" "" { target *-*-* } 43 }
// { dg-error "invalid use of incomplete type" "" { target *-*-* } 477 }
// { dg-error "declaration of" "" { target *-*-* } 440 }
// { dg-error "invalid use of incomplete type" "" { target *-*-* } 483 }
// { dg-error "declaration of" "" { target *-*-* } 445 }
// { dg-excess-errors "At global scope" }
// { dg-excess-errors "In instantiation of" }

View File

@ -2,7 +2,7 @@
// { dg-options "-std=gnu++0x" }
// { dg-require-cstdint "" }
// Copyright (C) 2008 Free Software Foundation
// Copyright (C) 2008, 2009 Free Software Foundation
//
// 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
@ -50,6 +50,6 @@ test04()
// { dg-error "instantiated from here" "" { target *-*-* } 35 }
// { dg-error "instantiated from here" "" { target *-*-* } 41 }
// { dg-error "instantiated from here" "" { target *-*-* } 47 }
// { dg-error "denominator cannot be zero" "" { target *-*-* } 150 }
// { dg-error "out of range" "" { target *-*-* } 151 }
// { dg-error "denominator cannot be zero" "" { target *-*-* } 158 }
// { dg-error "out of range" "" { target *-*-* } 159 }
// { dg-excess-errors "In instantiation of" }

View File

@ -4,7 +4,7 @@
// 2008-07-03 Chris Fairles <chris.fairles@gmail.com>
// Copyright (C) 2008 Free Software Foundation
// Copyright (C) 2008, 2009 Free Software Foundation
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@ -40,9 +40,9 @@ test02()
// { dg-error "instantiated from here" "" { target *-*-* } 30 }
// { dg-error "instantiated from here" "" { target *-*-* } 36 }
// { dg-error "instantiated from here" "" { target *-*-* } 37 }
// { dg-error "overflow in addition" "" { target *-*-* } 127 }
// { dg-error "overflow in multiplication" "" { target *-*-* } 95 }
// { dg-error "overflow in multiplication" "" { target *-*-* } 97 }
// { dg-error "overflow in multiplication" "" { target *-*-* } 99 }
// { dg-error "overflow in addition" "" { target *-*-* } 135 }
// { dg-error "overflow in multiplication" "" { target *-*-* } 103 }
// { dg-error "overflow in multiplication" "" { target *-*-* } 105 }
// { dg-error "overflow in multiplication" "" { target *-*-* } 107 }
// { dg-excess-errors "In instantiation of" }
// { dg-excess-errors "out of range" }

View File

@ -53,7 +53,7 @@ test03()
// { dg-error "used here" "" { target *-*-* } 43 }
// { dg-error "no matching" "" { target *-*-* } 49 }
// { dg-error "used here" "" { target *-*-* } 50 }
// { dg-error "candidates are" "" { target *-*-* } 214 }
// { dg-error "deleted function" "" { target *-*-* } 214 }
// { dg-error "deleted function" "" { target *-*-* } 360 }
// { dg-error "candidates are" "" { target *-*-* } 219 }
// { dg-error "deleted function" "" { target *-*-* } 219 }
// { dg-error "deleted function" "" { target *-*-* } 365 }
// { dg-excess-errors "note" }

View File

@ -37,4 +37,4 @@ void test01()
}
// { dg-error "used here" "" { target *-*-* } 36 }
// { dg-error "deleted function" "" { target *-*-* } 350 }
// { dg-error "deleted function" "" { target *-*-* } 355 }

View File

@ -1,6 +1,6 @@
// 2007-04-27 Paolo Carlini <pcarlini@suse.de>
// Copyright (C) 2007, 2008 Free Software Foundation
// Copyright (C) 2007, 2008, 2009 Free Software Foundation
//
// 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
@ -19,7 +19,7 @@
// USA.
// { dg-do compile }
// { dg-error "no matching" "" { target *-*-* } 1504 }
// { dg-error "no matching" "" { target *-*-* } 1503 }
// { dg-excess-errors "" }
#include <deque>

View File

@ -1,6 +1,6 @@
// 2007-04-27 Paolo Carlini <pcarlini@suse.de>
// Copyright (C) 2007, 2008 Free Software Foundation
// Copyright (C) 2007, 2008, 2009 Free Software Foundation
//
// 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
@ -19,7 +19,7 @@
// USA.
// { dg-do compile }
// { dg-error "no matching" "" { target *-*-* } 1443 }
// { dg-error "no matching" "" { target *-*-* } 1442 }
// { dg-excess-errors "" }
#include <deque>

View File

@ -1,6 +1,6 @@
// 2007-04-27 Paolo Carlini <pcarlini@suse.de>
// Copyright (C) 2007, 2008 Free Software Foundation
// Copyright (C) 2007, 2008, 2009 Free Software Foundation
//
// 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
@ -19,7 +19,7 @@
// USA.
// { dg-do compile }
// { dg-error "no matching" "" { target *-*-* } 1443 }
// { dg-error "no matching" "" { target *-*-* } 1442 }
// { dg-excess-errors "" }
#include <deque>

View File

@ -1,6 +1,6 @@
// 2007-04-27 Paolo Carlini <pcarlini@suse.de>
// Copyright (C) 2007, 2008 Free Software Foundation
// Copyright (C) 2007, 2008, 2009 Free Software Foundation
//
// 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
@ -19,7 +19,7 @@
// USA.
// { dg-do compile }
// { dg-error "no matching" "" { target *-*-* } 1588 }
// { dg-error "no matching" "" { target *-*-* } 1587 }
// { dg-excess-errors "" }
#include <deque>

View File

@ -1,6 +1,6 @@
// 2007-04-27 Paolo Carlini <pcarlini@suse.de>
// Copyright (C) 2007, 2008 Free Software Foundation
// Copyright (C) 2007, 2008, 2009 Free Software Foundation
//
// 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
@ -19,7 +19,7 @@
// USA.
// { dg-do compile }
// { dg-error "no matching" "" { target *-*-* } 1389 }
// { dg-error "no matching" "" { target *-*-* } 1388 }
// { dg-excess-errors "" }
#include <list>

View File

@ -1,6 +1,6 @@
// 2007-04-27 Paolo Carlini <pcarlini@suse.de>
// Copyright (C) 2007, 2008 Free Software Foundation
// Copyright (C) 2007, 2008, 2009 Free Software Foundation
//
// 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
@ -19,7 +19,7 @@
// USA.
// { dg-do compile }
// { dg-error "no matching" "" { target *-*-* } 1358 }
// { dg-error "no matching" "" { target *-*-* } 1357 }
// { dg-excess-errors "" }
#include <list>

View File

@ -1,6 +1,6 @@
// 2007-04-27 Paolo Carlini <pcarlini@suse.de>
// Copyright (C) 2007, 2008 Free Software Foundation
// Copyright (C) 2007, 2008, 2009 Free Software Foundation
//
// 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
@ -19,7 +19,7 @@
// USA.
// { dg-do compile }
// { dg-error "no matching" "" { target *-*-* } 1358 }
// { dg-error "no matching" "" { target *-*-* } 1357 }
// { dg-excess-errors "" }
#include <list>

View File

@ -1,6 +1,6 @@
// 2007-04-27 Paolo Carlini <pcarlini@suse.de>
// Copyright (C) 2007, 2008 Free Software Foundation
// Copyright (C) 2007, 2008, 2009 Free Software Foundation
//
// 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
@ -19,7 +19,7 @@
// USA.
// { dg-do compile }
// { dg-error "no matching" "" { target *-*-* } 1358 }
// { dg-error "no matching" "" { target *-*-* } 1357 }
// { dg-excess-errors "" }
#include <list>

View File

@ -19,7 +19,7 @@
// USA.
// { dg-do compile }
// { dg-error "no matching" "" { target *-*-* } 1057 }
// { dg-error "no matching" "" { target *-*-* } 1056 }
// { dg-excess-errors "" }
#include <vector>

View File

@ -19,7 +19,7 @@
// USA.
// { dg-do compile }
// { dg-error "no matching" "" { target *-*-* } 997 }
// { dg-error "no matching" "" { target *-*-* } 996 }
// { dg-excess-errors "" }
#include <vector>

View File

@ -19,7 +19,7 @@
// USA.
// { dg-do compile }
// { dg-error "no matching" "" { target *-*-* } 997 }
// { dg-error "no matching" "" { target *-*-* } 996 }
// { dg-excess-errors "" }
#include <vector>

View File

@ -19,7 +19,7 @@
// USA.
// { dg-do compile }
// { dg-error "no matching" "" { target *-*-* } 1098 }
// { dg-error "no matching" "" { target *-*-* } 1097 }
// { dg-excess-errors "" }
#include <vector>

View File

@ -1,6 +1,6 @@
// { dg-do compile }
// Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008 Free Software
// Copyright (C) 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
@ -43,5 +43,5 @@ void test01()
}
// { dg-error "synthesized" "" { target *-*-* } 42 }
// { dg-error "within this context" "" { target *-*-* } 35 }
// { dg-error "is private" "" { target *-*-* } 793 }
// { dg-error "is private" "" { target *-*-* } 798 }
// { dg-error "operator=" "" { target *-*-* } 0 }

View File

@ -1,6 +1,6 @@
// { dg-do compile }
// Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008 Free Software
// Copyright (C) 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
@ -43,5 +43,5 @@ void test02()
}
// { dg-error "within this context" "" { target *-*-* } 36 }
// { dg-error "synthesized" "" { target *-*-* } 42 }
// { dg-error "is private" "" { target *-*-* } 790 }
// { dg-error "is private" "" { target *-*-* } 795 }
// { dg-error "copy constructor" "" { target *-*-* } 0 }

View File

@ -1,7 +1,7 @@
// { dg-options "-std=gnu++0x" }
// { dg-do compile }
// Copyright (C) 2008 Free Software Foundation, Inc.
// Copyright (C) 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
@ -39,19 +39,19 @@ int main()
}
// { dg-error "used here" "" { target *-*-* } 530 }
// { dg-error "deleted function" "" { target *-*-* } 239 }
// { dg-error "deleted function" "" { target *-*-* } 257 }
// { dg-error "deleted function" "" { target *-*-* } 275 }
// { dg-error "deleted function" "" { target *-*-* } 293 }
// { dg-error "deleted function" "" { target *-*-* } 311 }
// { dg-error "deleted function" "" { target *-*-* } 329 }
// { dg-error "deleted function" "" { target *-*-* } 347 }
// { dg-error "deleted function" "" { target *-*-* } 365 }
// { dg-error "deleted function" "" { target *-*-* } 383 }
// { dg-error "deleted function" "" { target *-*-* } 401 }
// { dg-error "deleted function" "" { target *-*-* } 419 }
// { dg-error "deleted function" "" { target *-*-* } 437 }
// { dg-error "deleted function" "" { target *-*-* } 455 }
// { dg-error "deleted function" "" { target *-*-* } 473 }
// { dg-error "deleted function" "" { target *-*-* } 491 }
// { dg-error "deleted function" "" { target *-*-* } 244 }
// { dg-error "deleted function" "" { target *-*-* } 262 }
// { dg-error "deleted function" "" { target *-*-* } 280 }
// { dg-error "deleted function" "" { target *-*-* } 298 }
// { dg-error "deleted function" "" { target *-*-* } 316 }
// { dg-error "deleted function" "" { target *-*-* } 334 }
// { dg-error "deleted function" "" { target *-*-* } 352 }
// { dg-error "deleted function" "" { target *-*-* } 370 }
// { dg-error "deleted function" "" { target *-*-* } 388 }
// { dg-error "deleted function" "" { target *-*-* } 406 }
// { dg-error "deleted function" "" { target *-*-* } 424 }
// { dg-error "deleted function" "" { target *-*-* } 442 }
// { dg-error "deleted function" "" { target *-*-* } 460 }
// { dg-error "deleted function" "" { target *-*-* } 478 }
// { dg-error "deleted function" "" { target *-*-* } 496 }
// { dg-excess-errors "In member function" }

View File

@ -1,7 +1,7 @@
// { dg-options "-std=gnu++0x" }
// { dg-do compile }
// Copyright (C) 2008 Free Software Foundation, Inc.
// Copyright (C) 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
@ -39,19 +39,19 @@ int main()
}
// { dg-error "used here" "" { target *-*-* } 569 }
// { dg-error "deleted function" "" { target *-*-* } 238 }
// { dg-error "deleted function" "" { target *-*-* } 256 }
// { dg-error "deleted function" "" { target *-*-* } 274 }
// { dg-error "deleted function" "" { target *-*-* } 292 }
// { dg-error "deleted function" "" { target *-*-* } 310 }
// { dg-error "deleted function" "" { target *-*-* } 328 }
// { dg-error "deleted function" "" { target *-*-* } 346 }
// { dg-error "deleted function" "" { target *-*-* } 364 }
// { dg-error "deleted function" "" { target *-*-* } 382 }
// { dg-error "deleted function" "" { target *-*-* } 400 }
// { dg-error "deleted function" "" { target *-*-* } 418 }
// { dg-error "deleted function" "" { target *-*-* } 436 }
// { dg-error "deleted function" "" { target *-*-* } 454 }
// { dg-error "deleted function" "" { target *-*-* } 472 }
// { dg-error "deleted function" "" { target *-*-* } 490 }
// { dg-error "deleted function" "" { target *-*-* } 243 }
// { dg-error "deleted function" "" { target *-*-* } 261 }
// { dg-error "deleted function" "" { target *-*-* } 279 }
// { dg-error "deleted function" "" { target *-*-* } 297 }
// { dg-error "deleted function" "" { target *-*-* } 315 }
// { dg-error "deleted function" "" { target *-*-* } 333 }
// { dg-error "deleted function" "" { target *-*-* } 351 }
// { dg-error "deleted function" "" { target *-*-* } 369 }
// { dg-error "deleted function" "" { target *-*-* } 387 }
// { dg-error "deleted function" "" { target *-*-* } 405 }
// { dg-error "deleted function" "" { target *-*-* } 423 }
// { dg-error "deleted function" "" { target *-*-* } 441 }
// { dg-error "deleted function" "" { target *-*-* } 459 }
// { dg-error "deleted function" "" { target *-*-* } 477 }
// { dg-error "deleted function" "" { target *-*-* } 495 }
// { dg-excess-errors "In member function" }

View File

@ -41,4 +41,4 @@ void test01()
}
// { dg-error "used here" "" { target *-*-* } 40 }
// { dg-error "deleted function" "" { target *-*-* } 64 }
// { dg-error "deleted function" "" { target *-*-* } 72 }

View File

@ -40,4 +40,4 @@ void test01()
}
// { dg-error "used here" "" { target *-*-* } 39 }
// { dg-error "deleted function" "" { target *-*-* } 63 }
// { dg-error "deleted function" "" { target *-*-* } 71 }

View File

@ -41,4 +41,4 @@ void test01()
}
// { dg-error "used here" "" { target *-*-* } 40 }
// { dg-error "deleted function" "" { target *-*-* } 172 }
// { dg-error "deleted function" "" { target *-*-* } 180 }

View File

@ -40,4 +40,4 @@ void test01()
}
// { dg-error "used here" "" { target *-*-* } 39 }
// { dg-error "deleted function" "" { target *-*-* } 171 }
// { dg-error "deleted function" "" { target *-*-* } 179 }

Some files were not shown because too many files have changed in this diff Show More