Commit aac2878e by Benjamin Kosnik Committed by Benjamin Kosnik

doxygroups.cc: Move algorithm groups into algorithmfwd.h.

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

	* doc/doxygen/doxygroups.cc: Move algorithm groups into algorithmfwd.h.
	* doc/doxygen/user.cfg.in: Update.
	* scripts/run_doxygen: Adjust for new group names.

	* include/tr1_impl/random: Update doxygen group markup.
	* include/tr1_impl/unordered_map: Same.
	* include/tr1_impl/unordered_set: Same.
	* include/tr1_impl/array: Same.
	* include/std/numeric: Same.
	* include/std/utility: Same.
	* include/std/bitset: Same.
	* include/std/iosfwd: Same.
	* include/bits/stl_list.h: Same.
	* include/bits/stl_map.h: Same.
	* include/bits/stl_algobase.h: Same.
	* include/bits/stl_queue.h: Same.
	* include/bits/stl_set.h: Same.
	* include/bits/stl_stack.h: Same.
	* include/bits/stl_iterator_base_types.h: Same.
	* include/bits/forward_list.h: Same.
	* include/bits/basic_string.h: Same.
	* include/bits/stl_multimap.h: Same.
	* include/bits/stl_vector.h: Same.
	* include/bits/stl_deque.h: Same.
	* include/bits/stl_multiset.h: Same.
	* include/bits/stl_algo.h: Same.
	* include/bits/stl_bvector.h: Same.
	* include/bits/algorithmfwd.h: Same.
	* include/bits/stl_function.h: Same.
	* include/tr1/cmath: Same.
	* include/backward/binders.h: Same.

From-SVN: r144290
parent 57c2231b
2009-02-18 Benjamin Kosnik <bkoz@redhat.com>
* doc/doxygen/doxygroups.cc: Move algorithm groups into algorithmfwd.h.
* doc/doxygen/user.cfg.in: Update.
* scripts/run_doxygen: Adjust for new group names.
* include/tr1_impl/random: Update doxygen group markup.
* include/tr1_impl/unordered_map: Same.
* include/tr1_impl/unordered_set: Same.
* include/tr1_impl/array: Same.
* include/std/numeric: Same.
* include/std/utility: Same.
* include/std/bitset: Same.
* include/std/iosfwd: Same.
* include/bits/stl_list.h: Same.
* include/bits/stl_map.h: Same.
* include/bits/stl_algobase.h: Same.
* include/bits/stl_queue.h: Same.
* include/bits/stl_set.h: Same.
* include/bits/stl_stack.h: Same.
* include/bits/stl_iterator_base_types.h: Same.
* include/bits/forward_list.h: Same.
* include/bits/basic_string.h: Same.
* include/bits/stl_multimap.h: Same.
* include/bits/stl_vector.h: Same.
* include/bits/stl_deque.h: Same.
* include/bits/stl_multiset.h: Same.
* include/bits/stl_algo.h: Same.
* include/bits/stl_bvector.h: Same.
* include/bits/algorithmfwd.h: Same.
* include/bits/stl_function.h: Same.
* include/tr1/cmath: Same.
* include/backward/binders.h: Same.
2009-02-17 Benjamin Kosnik <bkoz@redhat.com>
* include/std/system_error (system_category): To system_category().
......
// Functor implementations -*- C++ -*-
// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007
// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2009
// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
......@@ -65,7 +65,9 @@
_GLIBCXX_BEGIN_NAMESPACE(std)
// 20.3.6 binders
/** @defgroup s20_3_6_binder Binder Classes
/** @defgroup binder Binder Classes
* @ingroup functors
*
* Binders turn functions/functors with two arguments into functors with
* a single argument, storing an argument to be applied later. For
* example, a variable @c B of type @c binder1st is constructed from a
......@@ -95,7 +97,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
*
* @{
*/
/// One of the @link s20_3_6_binder binder functors@endlink.
/// One of the @link binder binder functors@endlink.
template<typename _Operation>
class binder1st
: public unary_function<typename _Operation::second_argument_type,
......@@ -121,7 +123,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
{ return op(value, __x); }
} _GLIBCXX_DEPRECATED_ATTR;
/// One of the @link s20_3_6_binder binder functors@endlink.
/// One of the @link binder binder functors@endlink.
template<typename _Operation, typename _Tp>
inline binder1st<_Operation>
bind1st(const _Operation& __fn, const _Tp& __x)
......@@ -130,7 +132,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
return binder1st<_Operation>(__fn, _Arg1_type(__x));
}
/// One of the @link s20_3_6_binder binder functors@endlink.
/// One of the @link binder binder functors@endlink.
template<typename _Operation>
class binder2nd
: public unary_function<typename _Operation::first_argument_type,
......@@ -156,7 +158,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
{ return op(__x, value); }
} _GLIBCXX_DEPRECATED_ATTR;
/// One of the @link s20_3_6_binder binder functors@endlink.
/// One of the @link binder binder functors@endlink.
template<typename _Operation, typename _Tp>
inline binder2nd<_Operation>
bind2nd(const _Operation& __fn, const _Tp& __x)
......
// <algorithm> declarations -*- C++ -*-
// Copyright (C) 2007, 2008 Free Software Foundation, Inc.
// Copyright (C) 2007, 2008, 2009 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
......@@ -23,90 +23,6 @@
* You should not attempt to use it directly.
*/
/*
adjacent_find
all_of (C++0x)
any_of (C++0x)
binary_search
copy
copy_backward
copy_if (C++0x)
copy_n (C++0x)
count
count_if
equal
equal_range
fill
fill_n
find
find_end
find_first_of
find_if
find_if_not (C++0x)
for_each
generate
generate_n
includes
inplace_merge
is_heap (C++0x)
is_heap_until (C++0x)
is_partitioned (C++0x)
is_sorted (C++0x)
is_sorted_until (C++0x)
iter_swap
lexicographical_compare
lower_bound
make_heap
max
max_element
merge
min
min_element
minmax (C++0x)
minmax_element (C++0x)
mismatch
next_permutation
none_of (C++0x)
nth_element
partial_sort
partial_sort_copy
partition
partition_copy (C++0x)
partition_point (C++0x)
pop_heap
prev_permutation
push_heap
random_shuffle
remove
remove_copy
remove_copy_if
remove_if
replace
replace_copy
replace_copy_if
replace_if
reverse
reverse_copy
rotate
rotate_copy
search
search_n
set_difference
set_intersection
set_symmetric_difference
set_union
sort
sort_heap
stable_partition
stable_sort
swap
swap_ranges
transform
unique
unique_copy
upper_bound
*/
#ifndef _GLIBCXX_ALGORITHMFWD_H
#define _GLIBCXX_ALGORITHMFWD_H 1
......@@ -119,6 +35,135 @@
_GLIBCXX_BEGIN_NAMESPACE(std)
/*
adjacent_find
all_of (C++0x)
any_of (C++0x)
binary_search
copy
copy_backward
copy_if (C++0x)
copy_n (C++0x)
count
count_if
equal
equal_range
fill
fill_n
find
find_end
find_first_of
find_if
find_if_not (C++0x)
for_each
generate
generate_n
includes
inplace_merge
is_heap (C++0x)
is_heap_until (C++0x)
is_partitioned (C++0x)
is_sorted (C++0x)
is_sorted_until (C++0x)
iter_swap
lexicographical_compare
lower_bound
make_heap
max
max_element
merge
min
min_element
minmax (C++0x)
minmax_element (C++0x)
mismatch
next_permutation
none_of (C++0x)
nth_element
partial_sort
partial_sort_copy
partition
partition_copy (C++0x)
partition_point (C++0x)
pop_heap
prev_permutation
push_heap
random_shuffle
remove
remove_copy
remove_copy_if
remove_if
replace
replace_copy
replace_copy_if
replace_if
reverse
reverse_copy
rotate
rotate_copy
search
search_n
set_difference
set_intersection
set_symmetric_difference
set_union
sort
sort_heap
stable_partition
stable_sort
swap
swap_ranges
transform
unique
unique_copy
upper_bound
*/
/**
* @defgroup algorithms Algorithms
*
* Components for performing algorithmic operations. Includes
* non-modifying sequence, modifying (mutating) sequence, sorting,
* searching, merge, partition, heap, set, minima, maxima, and
* permutation operations.
*/
/**
* @defgroup set_algorithms Set Operation Algorithms
* @ingroup algorithms
*
* These algorithms are common set operations performed on sequences
* that are already sorted. The number of comparisons will be
* linear.
*/
/**
* @defgroup binary_search_algorithms Binary Search Algorithms
* @ingroup algorithms
*
* These algorithms are variations of a classic binary search, and
* all assume that the sequence being searched is already sorted.
*
* The number of comparisons will be logarithmic (and as few as
* possible). The number of steps through the sequence will be
* logarithmic for random-access iterators (e.g., pointers), and
* linear otherwise.
*
* The LWG has passed Defect Report 270, which notes: <em>The
* proposed resolution reinterprets binary search. Instead of
* thinking about searching for a value in a sorted range, we view
* that as an important special case of a more general algorithm:
* searching for the partition point in a partitioned range. We
* also add a guarantee that the old wording did not: we ensure that
* the upper bound is no earlier than the lower bound, that the pair
* returned by equal_range is a valid range, and that the first part
* of that pair is the lower bound.</em>
*
* The actual effect of the first sentence is that a comparison
* functor passed by the user doesn't necessarily need to induce a
* strict weak ordering relation. Rather, it partitions the range.
*/
// adjacent_find
#ifdef __GXX_EXPERIMENTAL_CXX0X__
......
......@@ -53,8 +53,8 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
* @class basic_string basic_string.h <string>
* @brief Managing sequences of characters and character-like objects.
*
* @ingroup Containers
* @ingroup Sequences
* @ingroup containers
* @ingroup sequences
*
* Meets the requirements of a <a href="tables.html#65">container</a>, a
* <a href="tables.html#66">reversible container</a>, and a
......
......@@ -400,8 +400,8 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
* @brief A standard container with linear time access to elements,
* and fixed time insertion/deletion at any point in the sequence.
*
* @ingroup Containers
* @ingroup Sequences
* @ingroup containers
* @ingroup sequences
*
* Meets the requirements of a <a href="tables.html#65">container</a>, a
* <a href="tables.html#67">sequence</a>, including the
......
// Algorithm implementation -*- C++ -*-
// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
......@@ -74,6 +74,11 @@
_GLIBCXX_BEGIN_NAMESPACE(std)
/**
* @addtogroup algorithms Algorithms
* @{
*/
/**
* @brief Find the median of three values.
* @param a A value.
* @param b A value.
......@@ -2394,7 +2399,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
* @return An iterator pointing to the first element "not less
* than" @a val, or end() if every element is less than
* @a val.
* @ingroup binarysearch
* @ingroup binary_search_algorithms
*/
template<typename _ForwardIterator, typename _Tp>
_ForwardIterator
......@@ -2441,7 +2446,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
* @param comp A functor to use for comparisons.
* @return An iterator pointing to the first element "not less than" @a val,
* or end() if every element is less than @a val.
* @ingroup binarysearch
* @ingroup binary_search_algorithms
*
* The comparison function should have the same effects on ordering as
* the function used for the initial sort.
......@@ -2492,7 +2497,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
* @param val The search term.
* @return An iterator pointing to the first element greater than @a val,
* or end() if no elements are greater than @a val.
* @ingroup binarysearch
* @ingroup binary_search_algorithms
*/
template<typename _ForwardIterator, typename _Tp>
_ForwardIterator
......@@ -2539,7 +2544,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
* @param comp A functor to use for comparisons.
* @return An iterator pointing to the first element greater than @a val,
* or end() if no elements are greater than @a val.
* @ingroup binarysearch
* @ingroup binary_search_algorithms
*
* The comparison function should have the same effects on ordering as
* the function used for the initial sort.
......@@ -2589,7 +2594,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
* @param last Another iterator.
* @param val The search term.
* @return An pair of iterators defining the subrange.
* @ingroup binarysearch
* @ingroup binary_search_algorithms
*
* This is equivalent to
* @code
......@@ -2651,7 +2656,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
* @param val The search term.
* @param comp A functor to use for comparisons.
* @return An pair of iterators defining the subrange.
* @ingroup binarysearch
* @ingroup binary_search_algorithms
*
* This is equivalent to
* @code
......@@ -2716,7 +2721,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
* @param last Another iterator.
* @param val The search term.
* @return True if @a val (or its equivalent) is in [@a first,@a last ].
* @ingroup binarysearch
* @ingroup binary_search_algorithms
*
* Note that this does not actually return an iterator to @a val. For
* that, use std::find or a container's specialized find member functions.
......@@ -2746,7 +2751,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
* @param val The search term.
* @param comp A functor to use for comparisons.
* @return True if @a val (or its equivalent) is in [@a first,@a last ].
* @ingroup binarysearch
* @ingroup binary_search_algorithms
*
* Note that this does not actually return an iterator to @a val. For
* that, use std::find or a container's specialized find member functions.
......@@ -3432,7 +3437,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
* @param last2 End of sequence.
* @return True if each element in [first2,last2) is contained in order
* within [first1,last1). False otherwise.
* @ingroup setoperations
* @ingroup set_algorithms
*
* This operation expects both [first1,last1) and [first2,last2) to be
* sorted. Searches for the presence of each element in [first2,last2)
......@@ -3479,7 +3484,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
* @param comp Comparison function to use.
* @return True if each element in [first2,last2) is contained in order
* within [first1,last1) according to comp. False otherwise.
* @ingroup setoperations
* @ingroup set_algorithms
*
* This operation expects both [first1,last1) and [first2,last2) to be
* sorted. Searches for the presence of each element in [first2,last2)
......@@ -3932,7 +3937,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
* @brief Determines min and max at once as an ordered pair.
* @param a A thing of arbitrary type.
* @param b Another thing of arbitrary type.
* @param comp A @link s20_3_3_comparisons comparison functor@endlink.
* @param comp A @link comparison_functor comparison functor@endlink.
* @return A pair(b, a) if b is smaller than a, pair(a, b) otherwise.
*/
template<typename _Tp, typename _Compare>
......@@ -4134,11 +4139,18 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
}
#endif // __GXX_EXPERIMENTAL_CXX0X__
/* @} */ // group algorithms
_GLIBCXX_END_NAMESPACE
_GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_P)
/**
* @addtogroup algorithms Algorithms
* @{
*/
/**
* @brief Apply a function to every element of a sequence.
* @param first An input iterator.
* @param last An input iterator.
......@@ -5406,7 +5418,7 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_P)
* @param first2 Start of second range.
* @param last2 End of second range.
* @return End of the output range.
* @ingroup setoperations
* @ingroup set_algorithms
*
* This operation iterates over both ranges, copying elements present in
* each range in order to the output range. Iterators increment for each
......@@ -5472,7 +5484,7 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_P)
* @param last2 End of second range.
* @param comp The comparison functor.
* @return End of the output range.
* @ingroup setoperations
* @ingroup set_algorithms
*
* This operation iterates over both ranges, copying elements present in
* each range in order to the output range. Iterators increment for each
......@@ -5539,7 +5551,7 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_P)
* @param first2 Start of second range.
* @param last2 End of second range.
* @return End of the output range.
* @ingroup setoperations
* @ingroup set_algorithms
*
* This operation iterates over both ranges, copying elements present in
* both ranges in order to the output range. Iterators increment for each
......@@ -5594,7 +5606,7 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_P)
* @param last2 End of second range.
* @param comp The comparison functor.
* @return End of the output range.
* @ingroup setoperations
* @ingroup set_algorithms
*
* This operation iterates over both ranges, copying elements present in
* both ranges in order to the output range. Iterators increment for each
......@@ -5650,7 +5662,7 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_P)
* @param first2 Start of second range.
* @param last2 End of second range.
* @return End of the output range.
* @ingroup setoperations
* @ingroup set_algorithms
*
* This operation iterates over both ranges, copying elements present in
* the first range but not the second in order to the output range.
......@@ -5709,7 +5721,7 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_P)
* @param last2 End of second range.
* @param comp The comparison functor.
* @return End of the output range.
* @ingroup setoperations
* @ingroup set_algorithms
*
* This operation iterates over both ranges, copying elements present in
* the first range but not the second in order to the output range.
......@@ -5769,7 +5781,7 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_P)
* @param first2 Start of second range.
* @param last2 End of second range.
* @return End of the output range.
* @ingroup setoperations
* @ingroup set_algorithms
*
* This operation iterates over both ranges, copying elements present in
* one range but not the other in order to the output range. Iterators
......@@ -5833,7 +5845,7 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_P)
* @param last2 End of second range.
* @param comp The comparison functor.
* @return End of the output range.
* @ingroup setoperations
* @ingroup set_algorithms
*
* This operation iterates over both ranges, copying elements present in
* one range but not the other in order to the output range. Iterators
......@@ -6000,6 +6012,8 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_P)
return __result;
}
/* @} */ // group algorithms
_GLIBCXX_END_NESTED_NAMESPACE
#endif /* _STL_ALGO_H */
// Core algorithmic facilities -*- C++ -*-
// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
......@@ -78,6 +78,11 @@
_GLIBCXX_BEGIN_NAMESPACE(std)
/**
* @addtogroup algorithms Algorithms
* @{
*/
// See http://gcc.gnu.org/ml/libstdc++/2004-08/msg00167.html: in a
// nutshell, we are partially implementing the resolution of DR 187,
// when it's safe, i.e., the value_types are equal.
......@@ -221,7 +226,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
* @brief This does what you think it does.
* @param a A thing of arbitrary type.
* @param b Another thing of arbitrary type.
* @param comp A @link s20_3_3_comparisons comparison functor@endlink.
* @param comp A @link comparison_functors comparison functor@endlink.
* @return The lesser of the parameters.
*
* This will work on temporary expressions, since they are only evaluated
......@@ -241,7 +246,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
* @brief This does what you think it does.
* @param a A thing of arbitrary type.
* @param b Another thing of arbitrary type.
* @param comp A @link s20_3_3_comparisons comparison functor@endlink.
* @param comp A @link comparison_functors comparison functor@endlink.
* @return The greater of the parameters.
*
* This will work on temporary expressions, since they are only evaluated
......@@ -924,11 +929,18 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
__first2, __last2);
}
/* @} */ // group algorithms
_GLIBCXX_END_NAMESPACE
_GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_P)
/**
* @addtogroup algorithms Algorithms
* @{
*/
/**
* @brief Tests a range for element-wise equality.
* @param first1 An input iterator.
* @param last1 An input iterator.
......@@ -961,7 +973,7 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_P)
* @param first1 An input iterator.
* @param last1 An input iterator.
* @param first2 An input iterator.
* @param binary_pred A binary predicate @link s20_3_1_base
* @param binary_pred A binary predicate @link functors
* functor@endlink.
* @return A boolean true or false.
*
......@@ -1028,7 +1040,7 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_P)
* @param last1 An input iterator.
* @param first2 An input iterator.
* @param last2 An input iterator.
* @param comp A @link s20_3_3_comparisons comparison functor@endlink.
* @param comp A @link comparison_functors comparison functor@endlink.
* @return A boolean true or false.
*
* The same as the four-parameter @c lexicographical_compare, but uses the
......@@ -1099,7 +1111,7 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_P)
* @param first1 An input iterator.
* @param last1 An input iterator.
* @param first2 An input iterator.
* @param binary_pred A binary predicate @link s20_3_1_base
* @param binary_pred A binary predicate @link functors
* functor@endlink.
* @return A pair of iterators pointing to the first mismatch.
*
......@@ -1128,6 +1140,8 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_P)
return pair<_InputIterator1, _InputIterator2>(__first1, __first2);
}
/* @} */ // group algorithms
_GLIBCXX_END_NESTED_NAMESPACE
// NB: This file is included within many other C++ includes, as a way
......
......@@ -467,8 +467,8 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_D)
* really references and pointers to bool. See DR96 for details. @see
* vector for function documentation.
*
* @ingroup Containers
* @ingroup Sequences
* @ingroup containers
* @ingroup sequences
*
* In some terminology a %vector can be described as a dynamic
* C-style array, it offers fast and efficient access to individual
......
......@@ -562,8 +562,8 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_D)
* @brief A standard container using fixed-size memory allocation and
* constant-time manipulation of elements at either end.
*
* @ingroup Containers
* @ingroup Sequences
* @ingroup containers
* @ingroup sequences
*
* Meets the requirements of a <a href="tables.html#65">container</a>, a
* <a href="tables.html#66">reversible container</a>, and a
......
// Types used in iterator implementation -*- C++ -*-
// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
......@@ -72,27 +72,26 @@
_GLIBCXX_BEGIN_NAMESPACE(std)
//@{
/**
* @defgroup iterator_tags Iterator Tags
* @defgroup iterators Iterators
* These are empty types, used to distinguish different iterators. The
* distinction is not made by what they contain, but simply by what they
* are. Different underlying algorithms can then be used based on the
* different operations supported by different iterator types.
*/
//@{
/// Marking input iterators.
struct input_iterator_tag {};
struct input_iterator_tag { };
/// Marking output iterators.
struct output_iterator_tag {};
struct output_iterator_tag { };
/// Forward iterators support a superset of input iterator operations.
struct forward_iterator_tag : public input_iterator_tag {};
struct forward_iterator_tag : public input_iterator_tag { };
/// Bidirectional iterators support a superset of forward iterator
/// operations.
struct bidirectional_iterator_tag : public forward_iterator_tag {};
struct bidirectional_iterator_tag : public forward_iterator_tag { };
/// Random-access iterators support a superset of bidirectional iterator
/// operations.
struct random_access_iterator_tag : public bidirectional_iterator_tag {};
//@}
struct random_access_iterator_tag : public bidirectional_iterator_tag { };
/**
......@@ -166,6 +165,8 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
__iterator_category(const _Iter&)
{ return typename iterator_traits<_Iter>::iterator_category(); }
//@}
_GLIBCXX_END_NAMESPACE
#endif /* _STL_ITERATOR_BASE_TYPES_H */
......
......@@ -379,8 +379,8 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_D)
* @brief A standard container with linear time access to elements,
* and fixed time insertion/deletion at any point in the sequence.
*
* @ingroup Containers
* @ingroup Sequences
* @ingroup containers
* @ingroup sequences
*
* Meets the requirements of a <a href="tables.html#65">container</a>, a
* <a href="tables.html#66">reversible container</a>, and a
......
......@@ -72,8 +72,8 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_D)
* @brief A standard container made up of (key,value) pairs, which can be
* retrieved based on a key, in logarithmic time.
*
* @ingroup Containers
* @ingroup Assoc_containers
* @ingroup containers
* @ingroup associative_containers
*
* Meets the requirements of a <a href="tables.html#65">container</a>, a
* <a href="tables.html#66">reversible container</a>, and an
......
......@@ -71,8 +71,8 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_D)
* @brief A standard container made up of (key,value) pairs, which can be
* retrieved based on a key, in logarithmic time.
*
* @ingroup Containers
* @ingroup Assoc_containers
* @ingroup containers
* @ingroup associative_containers
*
* Meets the requirements of a <a href="tables.html#65">container</a>, a
* <a href="tables.html#66">reversible container</a>, and an
......
......@@ -71,8 +71,8 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_D)
* @brief A standard container made up of elements, which can be retrieved
* in logarithmic time.
*
* @ingroup Containers
* @ingroup Assoc_containers
* @ingroup containers
* @ingroup associative_containers
*
* Meets the requirements of a <a href="tables.html#65">container</a>, a
* <a href="tables.html#66">reversible container</a>, and an
......
// Queue implementation -*- C++ -*-
// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
......@@ -70,8 +70,8 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
/**
* @brief A standard container giving FIFO behavior.
*
* @ingroup Containers
* @ingroup Sequences
* @ingroup containers
* @ingroup sequences
*
* Meets many of the requirements of a
* <a href="tables.html#65">container</a>,
......@@ -338,8 +338,8 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
/**
* @brief A standard container automatically sorting its contents.
*
* @ingroup Containers
* @ingroup Sequences
* @ingroup containers
* @ingroup sequences
*
* This is not a true container, but an @e adaptor. It holds
* another container, and provides a wrapper interface to that
......@@ -432,7 +432,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
* the copy according to @a x.
*
* For more information on function objects, see the
* documentation on @link s20_3_1_base functor base
* documentation on @link functors functor base
* classes@endlink.
*/
#ifndef __GXX_EXPERIMENTAL_CXX0X__
......
......@@ -71,8 +71,8 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_D)
* @brief A standard container made up of unique keys, which can be
* retrieved in logarithmic time.
*
* @ingroup Containers
* @ingroup Assoc_containers
* @ingroup containers
* @ingroup associative_containers
*
* Meets the requirements of a <a href="tables.html#65">container</a>, a
* <a href="tables.html#66">reversible container</a>, and an
......
......@@ -70,8 +70,8 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
/**
* @brief A standard container giving FILO behavior.
*
* @ingroup Containers
* @ingroup Sequences
* @ingroup containers
* @ingroup sequences
*
* Meets many of the requirements of a
* <a href="tables.html#65">container</a>,
......
......@@ -157,8 +157,8 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_D)
* @brief A standard container which offers fixed time access to
* individual elements in any order.
*
* @ingroup Containers
* @ingroup Sequences
* @ingroup containers
* @ingroup sequences
*
* Meets the requirements of a <a href="tables.html#65">container</a>, a
* <a href="tables.html#66">reversible container</a>, and a
......
......@@ -587,7 +587,7 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD_D)
/**
* @brief The %bitset class represents a @e fixed-size sequence of bits.
*
* @ingroup Containers
* @ingroup containers
*
* (Note that %bitset does @e not meet the formal requirements of a
* <a href="tables.html#65">container</a>. Mainly, it lacks iterators.)
......
......@@ -102,7 +102,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
class ios_base;
/**
* @defgroup s27_2_iosfwd I/O Forward Declarations
* @defgroup io I/O
*
* Nearly all of the I/O classes are parameterized on the type of
* characters they read and write. (The major exception is ios_base at
......
// <numeric> -*- C++ -*-
// Copyright (C) 2001, 2002 Free Software Foundation, Inc.
// Copyright (C) 2001, 2002, 2009 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
......@@ -71,4 +71,13 @@
# include <parallel/numeric>
#endif
/**
* @defgroup numerics Numerics
*
* Components for performing numeric operations. Includes support for
* for complex number types, random number generation, numeric
* (n-at-a-time) arrays, generalized numeric algorithms, and special
* math functions.
*/
#endif /* _GLIBCXX_NUMERIC */
// <utility> -*- C++ -*-
// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
......@@ -88,4 +88,12 @@
# include <initializer_list>
#endif
/**
* @defgroup utilities Utilities
*
* Components deemed generally useful. Includes pair, tuple,
* forward/move helpers, ratio, function object, metaprogramming and
* type traits, time, date, and memory functions.
*/
#endif /* _GLIBCXX_UTILITY */
// TR1 cmath -*- C++ -*-
// Copyright (C) 2006, 2007, 2008 Free Software Foundation, Inc.
// Copyright (C) 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
......@@ -105,7 +105,9 @@ namespace std
namespace tr1
{
/**
* @addtogroup tr1_math_spec_func Mathematical Special Functions
* @defgroup tr1_math_spec_func Mathematical Special Functions
* @ingroup numerics
*
* A collection of advanced mathematical special functions.
* @{
*/
......
// class template array -*- C++ -*-
// Copyright (C) 2007, 2008 Free Software Foundation, Inc.
// Copyright (C) 2007, 2008, 2009 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
......@@ -36,8 +36,21 @@ namespace std
{
_GLIBCXX_BEGIN_NAMESPACE_TR1
/// array.
/// NB: Requires complete type _Tp.
/**
* @brief A standard container for storing a fixed size sequence of elements.
*
* @ingroup containers
* @ingroup sequences
*
* Meets the requirements of a <a href="tables.html#65">container</a>, a
* <a href="tables.html#66">reversible container</a>, and a
* <a href="tables.html#67">sequence</a>.
*
* Sets support random access iterators.
*
* @param Tp Type of element. Required to be a complete type.
* @param N Number of elements.
*/
template<typename _Tp, std::size_t _Nm>
struct array
{
......
// random number generation -*- C++ -*-
// Copyright (C) 2007, 2008 Free Software Foundation, Inc.
// Copyright (C) 2007, 2008, 2009 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
......@@ -40,7 +40,8 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1
// [5.1] Random number generation
/**
* @addtogroup tr1_random Random Number Generation
* @defgroup tr1_random Random Number Generation
* @ingroup numerics
* A facility for generating random numbers on selected distributions.
* @{
*/
......@@ -312,7 +313,7 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1
/**
* @addtogroup tr1_random_generators Random Number Generators
* @defgroup tr1_random_generators Random Number Generators
* @ingroup tr1_random
*
* These classes define objects which provide random or pseudorandom
......@@ -1544,13 +1545,13 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1
/* @} */ // group tr1_random_generators
/**
* @addtogroup tr1_random_distributions Random Number Distributions
* @defgroup tr1_random_distributions Random Number Distributions
* @ingroup tr1_random
* @{
*/
/**
* @addtogroup tr1_random_distributions_discrete Discrete Distributions
* @defgroup tr1_random_distributions_discrete Discrete Distributions
* @ingroup tr1_random_distributions
* @{
*/
......@@ -2047,7 +2048,7 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1
/* @} */ // group tr1_random_distributions_discrete
/**
* @addtogroup tr1_random_distributions_continuous Continuous Distributions
* @defgroup tr1_random_distributions_continuous Continuous Distributions
* @ingroup tr1_random_distributions
* @{
*/
......
// TR1 unordered_map -*- C++ -*-
// Copyright (C) 2007 Free Software Foundation, Inc.
// Copyright (C) 2007, 2009 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
......@@ -168,7 +168,25 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1
{ __x.swap(__y); }
/// class unordered_map
/**
* @brief A standard container composed of unique keys (containing
* at most one of each key value) that associates values of another type
* with the keys.
*
* @ingroup containers
* @ingroup unordered_associative_containers
*
* Meets the requirements of a <a href="tables.html#65">container</a>, and
* <a href="tables.html#xx">unordered associative container</a>
*
* @param Key Type of key objects.
* @param Tp Type of mapped objects.
* @param Hash Hashing function object type, defaults to hash<Value>.
* @param Pred Predicate function object type, defaults to equal_to<Value>.
* @param Alloc Allocator type, defaults to allocator<Key>.
*
* The resulting value type of the container is std::pair<const Key, Tp>.
*/
template<class _Key, class _Tp,
class _Hash = hash<_Key>,
class _Pred = std::equal_to<_Key>,
......@@ -233,7 +251,25 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1
#endif
};
/// class unordered_multimap
/**
* @brief A standard container composed of equivalent keys
* (possibly containing multiple of each key value) that associates
* values of another type with the keys.
*
* @ingroup containers
* @ingroup unordered_associative_containers
*
* Meets the requirements of a <a href="tables.html#65">container</a>, and
* <a href="tables.html#xx">unordered associative container</a>
*
* @param Key Type of key objects.
* @param Tp Type of mapped objects.
* @param Hash Hashing function object type, defaults to hash<Value>.
* @param Pred Predicate function object type, defaults to equal_to<Value>.
* @param Alloc Allocator type, defaults to allocator<Key>.
*
* The resulting value type of the container is std::pair<const Key, Tp>.
*/
template<class _Key, class _Tp,
class _Hash = hash<_Key>,
class _Pred = std::equal_to<_Key>,
......
// TR1 unordered_set -*- C++ -*-
// Copyright (C) 2007 Free Software Foundation, Inc.
// Copyright (C) 2007, 2009 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
......@@ -164,7 +164,22 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1
{ __x.swap(__y); }
/// class unordered_set
/**
* @brief A standard container composed of unique keys (containing
* at most one of each key value) in which the elements' keys are
* the elements themselves.
*
* @ingroup containers
* @ingroup unordered_associative_containers
*
* Meets the requirements of a <a href="tables.html#65">container</a>, and
* <a href="tables.html#xx">unordered associative container</a>
*
* @param Value Type of key objects.
* @param Hash Hashing function object type, defaults to hash<Value>.
* @param Pred Predicate function object type, defaults to equal_to<Value>.
* @param Alloc Allocator type, defaults to allocator<Key>.
*/
template<class _Value,
class _Hash = hash<_Value>,
class _Pred = std::equal_to<_Value>,
......@@ -229,7 +244,22 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1
#endif
};
/// class unordered_multiset
/**
* @brief A standard container composed of equivalent keys
* (possibly containing multiple of each key value) in which the
* elements' keys are the elements themselves.
*
* @ingroup containers
* @ingroup unordered_associative_containers
*
* Meets the requirements of a <a href="tables.html#65">container</a>, and
* <a href="tables.html#xx">unordered associative container</a>
*
* @param Value Type of key objects.
* @param Hash Hashing function object type, defaults to hash<Value>.
* @param Pred Predicate function object type, defaults to equal_to<Value>.
* @param Alloc Allocator type, defaults to allocator<Key>.
*/
template<class _Value,
class _Hash = hash<_Value>,
class _Pred = std::equal_to<_Value>,
......
......@@ -217,23 +217,20 @@ rm -rf ext
# File names with embedded spaces (EVIL!) need to be....? renamed or removed?
find . -name "* *" -print0 | xargs -0r rm # requires GNU tools
# can leave SGIextensions.3 alone, it's an okay name
mv s20_3_1_base.3 Intro_functors.3
mv s20_3_2_arithmetic.3 Arithmetic_functors.3
mv s20_3_3_comparisons.3 Comparison_functors.3
mv s20_3_4_logical.3 Logical_functors.3
mv s20_3_5_negators.3 Negation_functors.3
#mv s20_3_6_binder.3 Binder_functors.3
mv s20_3_7_adaptors.3 Func_ptr_functors.3
mv s20_3_8_memadaptors.3 Member_ptr_functors.3
mv iterator_tags.3 Iterator_types.3
mv std.3 Namespace_std.3
mv __gnu_cxx.3 Namespace___gnu_cxx.3
# Cleanups before tr1* files get killed.
mv tr1_random_distributions.3 random_distributions.3
mv tr1_random_distributions_continuous.3 random_distributions_continuous.3
mv tr1_random_distributions_discrete.3 random_distributions_discrete.3
mv tr1_random_generators.3 random_generators.3
# man pages are for functions/types/other entities, not source files
# directly. who the heck would type "man foo.h" anyhow?
find . -name "[a-z]*" -a ! -name "std_*" -print | xargs rm
rm -f *.h.3 *config* *.cc.3 *.tcc.3 *_t.3
#find . -name "[a-z]*" -a ! -name "std_*" -print | xargs rm
rm -f *.h.3 *.hpp.3 *config* *.cc.3 *.tcc.3 *_t.3
rm ext_*.3
rm tr1_*.3
rm debug_*.3
# this is used to examine what we would have deleted, for debugging
#mkdir trash
#find . -name "[a-z]*" -a ! -name "std_*" -print | xargs -i mv {} trash
......@@ -258,16 +255,17 @@ rm stdheader
# implementations of man(1), e.g., Linux's. We need to have another top-level
# *roff tag to /stop/ the .SH NAME entry.
#problematic=`egrep --files-without-match '^\.SH SYNOPSIS' [A-Z]*.3`
problematic='Containers.3 Sequences.3 Assoc_containers.3 Iterator_types.3'
for f in $problematic; do
sed '/^\.SH NAME/{
n
a\
\
.SH SYNOPSIS
}' $f > TEMP
mv TEMP $f
done
#problematic='Containers.3 Sequences.3 Assoc_containers.3 Iterator_types.3'
#for f in $problematic; do
# sed '/^\.SH NAME/{
#n
#a\
#\
#.SH SYNOPSIS
# }' $f > TEMP
# mv TEMP $f
#done
# Also, break this (generated) line up. It's ugly as sin.
problematic=`grep -l '[^^]Definition at line' *.3`
......@@ -314,6 +312,15 @@ for f in __gnu_parallel_*; do
newname=`echo $f | sed 's/^__gnu_parallel_/__gnu_parallel::/'`
mv $f $newname
done
for f in __atomic0_*; do
newname=`echo $f | sed 's/^__atomic0_/std::__atomic0::/'`
mv $f $newname
done
for f in __atomic2_*; do
newname=`echo $f | sed 's/^__atomic2_/std::__atomic2::/'`
mv $f $newname
done
# Generic removal bits, where there are things in the generated man
# pages that need to be killed.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment