summaryrefslogtreecommitdiff
path: root/libstdc++-v3/doc/doxygen/doxygroups.cc
diff options
context:
space:
mode:
authorbkoz <bkoz@138bc75d-0d04-0410-961f-82ee72b054a4>2009-02-19 08:15:15 +0000
committerbkoz <bkoz@138bc75d-0d04-0410-961f-82ee72b054a4>2009-02-19 08:15:15 +0000
commit48e3f5673aa9f226292c2c6bd11525d40744221f (patch)
treead6009c188ca7ef64cc223b79a72a7c68995d30a /libstdc++-v3/doc/doxygen/doxygroups.cc
parent07dd13870dfa40944eb4478f1b8bfce021556080 (diff)
2009-02-18 Benjamin Kosnik <bkoz@redhat.com>
* doc/doxygen/doxygroups.cc: Move algorithm groups into algorithmfwd.h. * doc/doxygen/user.cfg.in: Update. * scripts/run_doxygen: Adjust for new group names. * include/tr1_impl/random: Update doxygen group markup. * include/tr1_impl/unordered_map: Same. * include/tr1_impl/unordered_set: Same. * include/tr1_impl/array: Same. * include/std/numeric: Same. * include/std/utility: Same. * include/std/bitset: Same. * include/std/iosfwd: Same. * include/bits/stl_list.h: Same. * include/bits/stl_map.h: Same. * include/bits/stl_algobase.h: Same. * include/bits/stl_queue.h: Same. * include/bits/stl_set.h: Same. * include/bits/stl_stack.h: Same. * include/bits/stl_iterator_base_types.h: Same. * include/bits/forward_list.h: Same. * include/bits/basic_string.h: Same. * include/bits/stl_multimap.h: Same. * include/bits/stl_vector.h: Same. * include/bits/stl_deque.h: Same. * include/bits/stl_multiset.h: Same. * include/bits/stl_algo.h: Same. * include/bits/stl_bvector.h: Same. * include/bits/algorithmfwd.h: Same. * include/bits/stl_function.h: Same. * include/tr1/cmath: Same. * include/backward/binders.h: Same. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@144290 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libstdc++-v3/doc/doxygen/doxygroups.cc')
-rw-r--r--libstdc++-v3/doc/doxygen/doxygroups.cc196
1 files changed, 90 insertions, 106 deletions
diff --git a/libstdc++-v3/doc/doxygen/doxygroups.cc b/libstdc++-v3/doc/doxygen/doxygroups.cc
index d94c9e50b3ed..cdca01ea4ffe 100644
--- a/libstdc++-v3/doc/doxygen/doxygroups.cc
+++ b/libstdc++-v3/doc/doxygen/doxygroups.cc
@@ -1,5 +1,5 @@
/*
- Copyright (C) 2001, 2002, 2005, 2008 Free Software Foundation, Inc.
+ Copyright (C) 2001, 2002, 2005, 2008, 2009 Free Software Foundation, Inc.
See license.html for license.
This just provides documentation for stuff that doesn't need to be in the
@@ -52,7 +52,80 @@
* export. Used only when anonymous namespaces cannot be substituted.
*/
// // // // // // // // // // // // // // // // // // // // // // // //
-/** @addtogroup SGIextensions STL extensions from SGI
+/** @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
+
+// // // // // // // // // // // // // // // // // // // // // // // //
+
+/**
+ * @defgroup extensions Extensions
+ *
+ * Components generally useful that are not part of any standard.
+ */
+
+/** @defgroup SGIextensions SGI STL extensions
+ * @ingroup extensions
Because libstdc++ based its implementation of the STL subsections of
the library on the SGI 3.3 implementation, we inherited their extensions
as well.
@@ -73,7 +146,7 @@ comments all over the place, so they may seem stilted.
// This is standalone because, unlike the functor introduction, there is no
// single header file which serves as a base "all containers must include
// this header". We do some quoting of 14882 here.
-/** @addtogroup Containers Containers
+/** @defgroup containers Containers
Containers are collections of objects.
A container may hold any type which meets certain requirements, but the type
@@ -98,9 +171,11 @@ All containers must meet certain requirements, summarized in
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.
*/
-/** @addtogroup Sequences Sequences
+/** @defgroup sequences Sequences
+ * @ingroup containers
Sequences arrange a collection of objects into a strictly linear order.
The differences between sequences are usually due to one or both of the
@@ -121,122 +196,31 @@ All sequences must meet certain requirements, summarized in
<a href="tables.html">tables</a>.
*/
-/** @addtogroup Assoc_containers Associative Containers
+/** @defgroup associative_containers Associative Containers
+ * @ingroup containers
Associative containers allow fast retrieval of data based on keys.
Each container type is parameterized on a @c Key type, and an ordering
relation used to sort the elements of the container.
-There should be more text here.
-
All associative containers must meet certain requirements, summarized in
<a href="tables.html">tables</a>.
*/
-// // // // // // // // // // // // // // // // // // // // // // // //
-/** @namespace abi
- * @brief The cross-vendor C++ Application Binary Interface. A
- * 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.
+/** @defgroup unordered_associative_containers Unordered Associative Containers
+ * @ingroup containers
+Unordered associative containers allow fast retrieval of data based on keys.
-@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.
+Each container type is parameterized on a @c Key type, a @c Hash type
+providing a hashing functor, and an ordering relation used to sort the
+elements of the container.
-@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
-
-// // // // // // // // // // // // // // // // // // // // // // // //
-/** @addtogroup binarysearch Binary search algorithms
-These algorithms are variations of a classic binary search. They all assume
-that the sequence being searched is already sorted.
-
-The number of comparisons will be logarithmic (and as few as possible).
-The number of steps through the sequence will be logarithmic for
-random-access iterators (e.g., pointers), and linear otherwise.
-
-The LWG has passed Defect Report 270, which notes: <em>The proposed
-resolution reinterprets binary search. Instead of thinking about searching
-for a value in a sorted range, we view that as an important special
-case of a more general algorithm: searching for the partition point in a
-partitioned range. We also add a guarantee that the old wording did not:
-we ensure that the upper bound is no earlier than the lower bound, that
-the pair returned by equal_range is a valid range, and that the first part
-of that pair is the lower bound.</em>
-
-The actual effect of the first sentence is that a comparison functor
-passed by the user doesn't necessarily need to induce a strict weak ordering
-relation. Rather, it partitions the range.
-*/
-
-// // // // // // // // // // // // // // // // // // // // // // // //
-/** @addtogroup setoperations Set operation algorithms
-These algorithms are common set operations performed on sequences that are
-already sorted.
-
-The number of comparisons will be linear.
-*/
+All unordered associative containers must meet certain requirements,
+summarized in <a href="tables.html">tables</a>. */
// // // // // // // // // // // // // // // // // // // // // // // //
-
-// // // // // // // // // // // // // // // // // // // // // // // //
-/* * @addtogroup groupname description of group
+/* * @defgroup groupname description of group
placeholder text
*/
// // // // // // // // // // // // // // // // // // // // // // // //
-
-// vim:et:noai:
-