mirror of git://gcc.gnu.org/git/gcc.git
user.cfg.in: Add macros, directories.
2011-12-10 Benjamin Kosnik <bkoz@redhat.com> * doc/doxygen/user.cfg.in: Add macros, directories. * include/bits/locale_classes.h: Remove doxygen warnings, fix markup. * include/bits/locale_classes.tcc: Same. * include/bits/shared_ptr.h: Same. * include/bits/stl_algo.h: Same. * include/bits/stl_list.h: Same. * include/bits/stl_numeric.h: Same. * include/debug/safe_base.h: Same. * include/parallel/equally_split.h: Same. * include/std/bitset: Same. * include/std/complex: Same. * include/std/fstream: Same. * include/std/istream: Same. * include/std/ostream: Same. * include/tr2/dynamic_bitset: Same. * scripts/run_doxygen: Remove munging for names that no longer exist. * testsuite/23_containers/list/requirements/dr438/assign_neg.cc: Adjust line numbers. * testsuite/23_containers/list/requirements/dr438/ constructor_1_neg.cc: Same. * testsuite/23_containers/list/requirements/dr438/ constructor_2_neg.cc: Same. * testsuite/23_containers/list/requirements/dr438/insert_neg.cc: Same. From-SVN: r182189
This commit is contained in:
parent
f431d7ca38
commit
7897a1c029
|
@ -1,4 +1,31 @@
|
|||
2011-12-12 François Dumont <fdumont@gcc.gnu.org>
|
||||
2011-12-10 Benjamin Kosnik <bkoz@redhat.com>
|
||||
|
||||
* doc/doxygen/user.cfg.in: Add macros, directories.
|
||||
* include/bits/locale_classes.h: Remove doxygen warnings, fix markup.
|
||||
* include/bits/locale_classes.tcc: Same.
|
||||
* include/bits/shared_ptr.h: Same.
|
||||
* include/bits/stl_algo.h: Same.
|
||||
* include/bits/stl_list.h: Same.
|
||||
* include/bits/stl_numeric.h: Same.
|
||||
* include/debug/safe_base.h: Same.
|
||||
* include/parallel/equally_split.h: Same.
|
||||
* include/std/bitset: Same.
|
||||
* include/std/complex: Same.
|
||||
* include/std/fstream: Same.
|
||||
* include/std/istream: Same.
|
||||
* include/std/ostream: Same.
|
||||
* include/tr2/dynamic_bitset: Same.
|
||||
* scripts/run_doxygen: Remove munging for names that no longer exist.
|
||||
|
||||
* testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
|
||||
Adjust line numbers.
|
||||
* testsuite/23_containers/list/requirements/dr438/
|
||||
constructor_1_neg.cc: Same.
|
||||
* testsuite/23_containers/list/requirements/dr438/
|
||||
constructor_2_neg.cc: Same.
|
||||
* testsuite/23_containers/list/requirements/dr438/insert_neg.cc: Same.
|
||||
|
||||
2011-12-10 François Dumont <fdumont@gcc.gnu.org>
|
||||
|
||||
* include/profile/unordered_set: Minor formatting changes.
|
||||
(unordered_set<>::_M_profile_destruct,
|
||||
|
@ -119,7 +146,7 @@
|
|||
Likewise.
|
||||
|
||||
2011-12-04 Markus Trippelsdorf <markus@trippelsdorf.de>
|
||||
Jonathan Wakely <jwakely.gcc@gmail.com>
|
||||
Jonathan Wakely <jwakely.gcc@gmail.com>
|
||||
|
||||
* include/bits/stl_heap.h (pop_heap): Check for non-empty range in
|
||||
overload taking a predicate.
|
||||
|
@ -145,37 +172,37 @@
|
|||
|
||||
2011-11-30 Benjamin Kosnik <bkoz@redhat.com>
|
||||
|
||||
* acinclude.m4 (GLIBCXX_ENABLE_ATOMIC_BUILTINS): Remove
|
||||
size-specific macros. _GLIBCXX_ATOMIC_BUILTINS_1,
|
||||
_GLIBCXX_ATOMIC_BUILTINS_2, _GLIBCXX_ATOMIC_BUILTINS_4,
|
||||
_GLIBCXX_ATOMIC_BUILTINS_8. Use _GLIBCXX_ATOMIC_BUILTINS to
|
||||
indicate use of C++11 atomic builtins.
|
||||
* config.h.in: Regenerate.
|
||||
* configure: Regenerate.
|
||||
* include/Makefile.am (bits_sup_headers): Add atomic_lockfree_defines.h.
|
||||
* include/Makefile.in: Regenerate.
|
||||
* libsupc++/Makefile.am: Compile C++11 support with -std=gnu++0x.
|
||||
* libsupc++/Makefile.in: Regenerate.
|
||||
* acinclude.m4 (GLIBCXX_ENABLE_ATOMIC_BUILTINS): Remove
|
||||
size-specific macros. _GLIBCXX_ATOMIC_BUILTINS_1,
|
||||
_GLIBCXX_ATOMIC_BUILTINS_2, _GLIBCXX_ATOMIC_BUILTINS_4,
|
||||
_GLIBCXX_ATOMIC_BUILTINS_8. Use _GLIBCXX_ATOMIC_BUILTINS to
|
||||
indicate use of C++11 atomic builtins.
|
||||
* config.h.in: Regenerate.
|
||||
* configure: Regenerate.
|
||||
* include/Makefile.am (bits_sup_headers): Add atomic_lockfree_defines.h.
|
||||
* include/Makefile.in: Regenerate.
|
||||
* libsupc++/Makefile.am: Compile C++11 support with -std=gnu++0x.
|
||||
* libsupc++/Makefile.in: Regenerate.
|
||||
|
||||
* include/bits/atomic_base.h: Move lock-free property macros...
|
||||
* libsupc++/atomic_lockfree_defines.h: ...here.
|
||||
* include/std/future: Use C++11 macros.
|
||||
* libsupc++/eh_ptr.cc: Same.
|
||||
* libsupc++/eh_throw.cc: Same.
|
||||
* libsupc++/exception: Same.
|
||||
* libsupc++/exception_ptr.h: Same.
|
||||
* libsupc++/guard.cc: Same.
|
||||
* libsupc++/nested_exception.cc: Same.
|
||||
* libsupc++/nested_exception.h: Same.
|
||||
* src/future.cc: Same.
|
||||
* include/bits/atomic_base.h: Move lock-free property macros...
|
||||
* libsupc++/atomic_lockfree_defines.h: ...here.
|
||||
* include/std/future: Use C++11 macros.
|
||||
* libsupc++/eh_ptr.cc: Same.
|
||||
* libsupc++/eh_throw.cc: Same.
|
||||
* libsupc++/exception: Same.
|
||||
* libsupc++/exception_ptr.h: Same.
|
||||
* libsupc++/guard.cc: Same.
|
||||
* libsupc++/nested_exception.cc: Same.
|
||||
* libsupc++/nested_exception.h: Same.
|
||||
* src/future.cc: Same.
|
||||
|
||||
* include/ext/atomicity.h: Use _GLIBCXX_ATOMIC_BUILTINS.
|
||||
* include/ext/atomicity.h: Use _GLIBCXX_ATOMIC_BUILTINS.
|
||||
|
||||
* doc/doxygen/user.cfg.in
|
||||
* doc/xml/manual/concurrency_extensions.xml
|
||||
* doc/doxygen/user.cfg.in: Adjust.
|
||||
* doc/xml/manual/concurrency_extensions.xml: Add note.
|
||||
|
||||
* testsuite/18_support/exception_ptr/lifespan.cc
|
||||
* testsuite/lib/libstdc++.exp
|
||||
* testsuite/18_support/exception_ptr/lifespan.cc: Tweak.
|
||||
* testsuite/lib/libstdc++.exp: Same.
|
||||
|
||||
2011-11-29 François Dumont <fdumont@gcc.gnu.org>
|
||||
|
||||
|
|
|
@ -746,6 +746,7 @@ INPUT = @srcdir@/doc/doxygen/doxygroups.cc \
|
|||
include/tr1/ctime \
|
||||
include/tr1/cwchar \
|
||||
include/tr1/cwctype \
|
||||
include/tr2/ \
|
||||
include/tr2/bool_set \
|
||||
include/tr2/dynamic_bitset \
|
||||
include/tr2/ratio \
|
||||
|
@ -1647,9 +1648,10 @@ PREDEFINED = __cplusplus \
|
|||
_GLIBCXX_USE_C99_STDINT_TR1 \
|
||||
_GLIBCXX_USE_SCHED_YIELD \
|
||||
_GLIBCXX_USE_NANOSLEEP \
|
||||
PB_DS_DATA_TRUE_INDICATOR \
|
||||
__EXCEPTIONS \
|
||||
__GXX_RTTI \
|
||||
ATOMIC_INT_LOCK_FREE \
|
||||
PB_DS_DATA_TRUE_INDICATOR \
|
||||
__glibcxx_function_requires=// \
|
||||
__glibcxx_class_requires=// \
|
||||
__glibcxx_class_requires2=// \
|
||||
|
|
|
@ -570,39 +570,6 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
|||
};
|
||||
|
||||
|
||||
/**
|
||||
* @brief Test for the presence of a facet.
|
||||
*
|
||||
* has_facet tests the locale argument for the presence of the facet type
|
||||
* provided as the template parameter. Facets derived from the facet
|
||||
* parameter will also return true.
|
||||
*
|
||||
* @tparam _Facet The facet type to test the presence of.
|
||||
* @param __loc The locale to test.
|
||||
* @return true if __loc contains a facet of type _Facet, else false.
|
||||
*/
|
||||
template<typename _Facet>
|
||||
bool
|
||||
has_facet(const locale& __loc) throw();
|
||||
|
||||
/**
|
||||
* @brief Return a facet.
|
||||
*
|
||||
* use_facet looks for and returns a reference to a facet of type Facet
|
||||
* where Facet is the template parameter. If has_facet(locale) is true,
|
||||
* there is a suitable facet to return. It throws std::bad_cast if the
|
||||
* locale doesn't contain a facet of type Facet.
|
||||
*
|
||||
* @tparam _Facet The facet type to access.
|
||||
* @param __loc The locale to use.
|
||||
* @return Reference to facet of type Facet.
|
||||
* @throw std::bad_cast if __loc doesn't contain a facet of type _Facet.
|
||||
*/
|
||||
template<typename _Facet>
|
||||
const _Facet&
|
||||
use_facet(const locale& __loc);
|
||||
|
||||
|
||||
/**
|
||||
* @brief Facet for localized string comparison.
|
||||
*
|
||||
|
|
|
@ -87,7 +87,17 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
|||
__s2.data(), __s2.data() + __s2.length()) < 0);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @brief Test for the presence of a facet.
|
||||
*
|
||||
* has_facet tests the locale argument for the presence of the facet type
|
||||
* provided as the template parameter. Facets derived from the facet
|
||||
* parameter will also return true.
|
||||
*
|
||||
* @tparam _Facet The facet type to test the presence of.
|
||||
* @param __loc The locale to test.
|
||||
* @return true if @p __loc contains a facet of type _Facet, else false.
|
||||
*/
|
||||
template<typename _Facet>
|
||||
bool
|
||||
has_facet(const locale& __loc) throw()
|
||||
|
@ -102,6 +112,19 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
|||
#endif
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Return a facet.
|
||||
*
|
||||
* use_facet looks for and returns a reference to a facet of type Facet
|
||||
* where Facet is the template parameter. If has_facet(locale) is true,
|
||||
* there is a suitable facet to return. It throws std::bad_cast if the
|
||||
* locale doesn't contain a facet of type Facet.
|
||||
*
|
||||
* @tparam _Facet The facet type to access.
|
||||
* @param __loc The locale to use.
|
||||
* @return Reference to facet of type Facet.
|
||||
* @throw std::bad_cast if @p __loc doesn't contain a facet of type _Facet.
|
||||
*/
|
||||
template<typename _Facet>
|
||||
const _Facet&
|
||||
use_facet(const locale& __loc)
|
||||
|
|
|
@ -100,6 +100,8 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
|||
constexpr shared_ptr() noexcept
|
||||
: __shared_ptr<_Tp>() { }
|
||||
|
||||
shared_ptr(const shared_ptr&) noexcept = default;
|
||||
|
||||
/**
|
||||
* @brief Construct a %shared_ptr that owns the pointer @a __p.
|
||||
* @param __p A pointer that is convertible to element_type*.
|
||||
|
@ -211,7 +213,6 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
|||
* @param __r A %shared_ptr.
|
||||
* @post get() == __r.get() && use_count() == __r.use_count()
|
||||
*/
|
||||
shared_ptr(const shared_ptr&) noexcept = default;
|
||||
template<typename _Tp1, typename = typename
|
||||
std::enable_if<std::is_convertible<_Tp1*, _Tp*>::value>::type>
|
||||
shared_ptr(const shared_ptr<_Tp1>& __r) noexcept
|
||||
|
@ -266,6 +267,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
|||
: __shared_ptr<_Tp>(__p) { }
|
||||
|
||||
shared_ptr& operator=(const shared_ptr&) noexcept = default;
|
||||
|
||||
template<typename _Tp1>
|
||||
shared_ptr&
|
||||
operator=(const shared_ptr<_Tp1>& __r) noexcept
|
||||
|
|
|
@ -1664,9 +1664,9 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
|||
* @return Nothing.
|
||||
*
|
||||
* Rotates the elements of the range @p [__first,__last) by
|
||||
* @p(__middle - __first) positions so that the element at @p __middle
|
||||
* @p (__middle - __first) positions so that the element at @p __middle
|
||||
* is moved to @p __first, the element at @p __middle+1 is moved to
|
||||
* @ __first+1 and so on for each element in the range
|
||||
* @p __first+1 and so on for each element in the range
|
||||
* @p [__first,__last).
|
||||
*
|
||||
* This effectively swaps the ranges @p [__first,__middle) and
|
||||
|
@ -1705,7 +1705,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
|||
* range beginning at @result, rotating the copied elements by
|
||||
* @p (__middle-__first) positions so that the element at @p __middle
|
||||
* is moved to @p __result, the element at @p __middle+1 is moved
|
||||
* to @__result+1 and so on for each element in the range @p
|
||||
* to @p __result+1 and so on for each element in the range @p
|
||||
* [__first,__last).
|
||||
*
|
||||
* Performs
|
||||
|
@ -1947,9 +1947,9 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
|||
* to the range beginning at @p __result_first, where the number of
|
||||
* elements to be copied, @p N, is the smaller of @p (__last-__first) and
|
||||
* @p (__result_last-__result_first).
|
||||
* After the sort if @p i and @j are iterators in the range
|
||||
* @p [__result_first,__result_first+N) such that @i precedes @j then
|
||||
* @p *j<*i is false.
|
||||
* After the sort if @e i and @e j are iterators in the range
|
||||
* @p [__result_first,__result_first+N) such that i precedes j then
|
||||
* *j<*i is false.
|
||||
* The value returned is @p __result_first+N.
|
||||
*/
|
||||
template<typename _InputIterator, typename _RandomAccessIterator>
|
||||
|
@ -2013,8 +2013,8 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
|||
* to the range beginning at @p result_first, where the number of
|
||||
* elements to be copied, @p N, is the smaller of @p (__last-__first) and
|
||||
* @p (__result_last-__result_first).
|
||||
* After the sort if @p i and @j are iterators in the range
|
||||
* @p [__result_first,__result_first+N) such that @i precedes @j then
|
||||
* After the sort if @e i and @e j are iterators in the range
|
||||
* @p [__result_first,__result_first+N) such that i precedes j then
|
||||
* @p __comp(*j,*i) is false.
|
||||
* The value returned is @p __result_first+N.
|
||||
*/
|
||||
|
@ -2387,7 +2387,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
|||
// lower_bound moved to stl_algobase.h
|
||||
|
||||
/**
|
||||
* @brief Finds the first position in which @a val could be inserted
|
||||
* @brief Finds the first position in which @p __val could be inserted
|
||||
* without changing the ordering.
|
||||
* @ingroup binary_search_algorithms
|
||||
* @param __first An iterator.
|
||||
|
@ -2395,8 +2395,8 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
|||
* @param __val The search term.
|
||||
* @param __comp A functor to use for comparisons.
|
||||
* @return An iterator pointing to the first element <em>not less
|
||||
* than</em> @a __val, or end() if every element is less
|
||||
* than @a __val.
|
||||
* than</em> @p __val, or end() if every element is less
|
||||
* than @p __val.
|
||||
* @ingroup binary_search_algorithms
|
||||
*
|
||||
* The comparison function should have the same effects on ordering as
|
||||
|
@ -2439,14 +2439,14 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
|||
}
|
||||
|
||||
/**
|
||||
* @brief Finds the last position in which @a val could be inserted
|
||||
* @brief Finds the last position in which @p __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.
|
||||
* @return An iterator pointing to the first element greater than @a __val,
|
||||
* or end() if no elements are greater than @a __val.
|
||||
* @return An iterator pointing to the first element greater than @p __val,
|
||||
* or end() if no elements are greater than @p __val.
|
||||
* @ingroup binary_search_algorithms
|
||||
*/
|
||||
template<typename _ForwardIterator, typename _Tp>
|
||||
|
@ -2484,15 +2484,15 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
|||
}
|
||||
|
||||
/**
|
||||
* @brief Finds the last position in which @a val could be inserted
|
||||
* @brief Finds the last position in which @p __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.
|
||||
* @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.
|
||||
* @return An iterator pointing to the first element greater than @p __val,
|
||||
* or end() if no elements are greater than @p __val.
|
||||
* @ingroup binary_search_algorithms
|
||||
*
|
||||
* The comparison function should have the same effects on ordering as
|
||||
|
@ -2535,7 +2535,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
|||
}
|
||||
|
||||
/**
|
||||
* @brief Finds the largest subrange in which @a val could be inserted
|
||||
* @brief Finds the largest subrange in which @p __val could be inserted
|
||||
* at any place in it without changing the ordering.
|
||||
* @ingroup binary_search_algorithms
|
||||
* @param __first An iterator.
|
||||
|
@ -2597,7 +2597,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
|||
}
|
||||
|
||||
/**
|
||||
* @brief Finds the largest subrange in which @a val could be inserted
|
||||
* @brief Finds the largest subrange in which @p __val could be inserted
|
||||
* at any place in it without changing the ordering.
|
||||
* @param __first An iterator.
|
||||
* @param __last Another iterator.
|
||||
|
@ -2668,10 +2668,10 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
|||
* @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 ].
|
||||
* @return True if @p __val (or its equivalent) is in [@p
|
||||
* __first,@p __last ].
|
||||
*
|
||||
* Note that this does not actually return an iterator to @a __val. For
|
||||
* Note that this does not actually return an iterator to @p __val. For
|
||||
* that, use std::find or a container's specialized find member functions.
|
||||
*/
|
||||
template<typename _ForwardIterator, typename _Tp>
|
||||
|
@ -2699,9 +2699,9 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
|||
* @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 ].
|
||||
* @return True if @p __val (or its equivalent) is in @p [__first,__last].
|
||||
*
|
||||
* Note that this does not actually return an iterator to @a val. For
|
||||
* Note that this does not actually return an iterator to @p __val. For
|
||||
* that, use std::find or a container's specialized find member functions.
|
||||
*
|
||||
* The comparison function should have the same effects on ordering as
|
||||
|
@ -3523,7 +3523,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
|||
* each element in [__first2,__last2) within [__first1,__last1).
|
||||
* The iterators over each range only move forward, so this is a
|
||||
* linear algorithm. If an element in [__first2,__last2) is not
|
||||
* found before the search iterator reaches @a __last2, false is
|
||||
* found before the search iterator reaches @p __last2, false is
|
||||
* returned.
|
||||
*/
|
||||
template<typename _InputIterator1, typename _InputIterator2>
|
||||
|
@ -3574,7 +3574,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
|||
* using comp to decide. The iterators over each range only move
|
||||
* forward, so this is a linear algorithm. If an element in
|
||||
* [__first2,__last2) is not found before the search iterator
|
||||
* reaches @a __last2, false is returned.
|
||||
* reaches @p __last2, false is returned.
|
||||
*/
|
||||
template<typename _InputIterator1, typename _InputIterator2,
|
||||
typename _Compare>
|
||||
|
@ -3620,13 +3620,13 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
|||
// max_element
|
||||
|
||||
/**
|
||||
* @brief Permute range into the next @a dictionary ordering.
|
||||
* @brief Permute range into the next @e dictionary ordering.
|
||||
* @ingroup sorting_algorithms
|
||||
* @param __first Start of range.
|
||||
* @param __last End of range.
|
||||
* @return False if wrapped to first permutation, true otherwise.
|
||||
*
|
||||
* Treats all permutations of the range as a set of @a dictionary sorted
|
||||
* Treats all permutations of the range as a set of @e dictionary sorted
|
||||
* sequences. Permutes the current sequence into the next one of this set.
|
||||
* Returns true if there are more sequences to generate. If the sequence
|
||||
* is the largest of the set, the smallest is generated and false returned.
|
||||
|
@ -3674,7 +3674,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
|||
}
|
||||
|
||||
/**
|
||||
* @brief Permute range into the next @a dictionary ordering using
|
||||
* @brief Permute range into the next @e dictionary ordering using
|
||||
* comparison functor.
|
||||
* @ingroup sorting_algorithms
|
||||
* @param __first Start of range.
|
||||
|
@ -3683,7 +3683,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
|||
* @return False if wrapped to first permutation, true otherwise.
|
||||
*
|
||||
* Treats all permutations of the range [__first,__last) as a set of
|
||||
* @a dictionary sorted sequences ordered by @a comp. Permutes the current
|
||||
* @e dictionary sorted sequences ordered by @p __comp. Permutes the current
|
||||
* sequence into the next one of this set. Returns true if there are more
|
||||
* sequences to generate. If the sequence is the largest of the set, the
|
||||
* smallest is generated and false returned.
|
||||
|
@ -3732,13 +3732,13 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
|||
}
|
||||
|
||||
/**
|
||||
* @brief Permute range into the previous @a dictionary ordering.
|
||||
* @brief Permute range into the previous @e dictionary ordering.
|
||||
* @ingroup sorting_algorithms
|
||||
* @param __first Start of range.
|
||||
* @param __last End of range.
|
||||
* @return False if wrapped to last permutation, true otherwise.
|
||||
*
|
||||
* Treats all permutations of the range as a set of @a dictionary sorted
|
||||
* Treats all permutations of the range as a set of @e dictionary sorted
|
||||
* sequences. Permutes the current sequence into the previous one of this
|
||||
* set. Returns true if there are more sequences to generate. If the
|
||||
* sequence is the smallest of the set, the largest is generated and false
|
||||
|
@ -3787,7 +3787,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
|||
}
|
||||
|
||||
/**
|
||||
* @brief Permute range into the previous @a dictionary ordering using
|
||||
* @brief Permute range into the previous @e dictionary ordering using
|
||||
* comparison functor.
|
||||
* @ingroup sorting_algorithms
|
||||
* @param __first Start of range.
|
||||
|
@ -3796,7 +3796,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
|||
* @return False if wrapped to last permutation, true otherwise.
|
||||
*
|
||||
* Treats all permutations of the range [__first,__last) as a set of
|
||||
* @a dictionary sorted sequences ordered by @a comp. Permutes the current
|
||||
* @e dictionary sorted sequences ordered by @p __comp. Permutes the current
|
||||
* sequence into the previous one of this set. Returns true if there are
|
||||
* more sequences to generate. If the sequence is the smallest of the set,
|
||||
* the largest is generated and false returned.
|
||||
|
@ -4032,7 +4032,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
|||
* @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.
|
||||
* @param __comp A @link comparison_functors comparison functor @endlink.
|
||||
* @return A pair(__b, __a) if __b is smaller than __a, pair(__a,
|
||||
* __b) otherwise.
|
||||
*/
|
||||
|
@ -5258,9 +5258,9 @@ _GLIBCXX_BEGIN_NAMESPACE_ALGO
|
|||
* @p [first,last) and moves them to the range @p [__first,__middle). The
|
||||
* order of the remaining elements in the range @p [__middle,__last) is
|
||||
* undefined.
|
||||
* After the sort if @p i and @j are iterators in the range
|
||||
* @p [__first,__middle) such that @i precedes @j and @k is an iterator in
|
||||
* the range @p [__middle,__last) then @p *j<*i and @p *k<*i are both false.
|
||||
* After the sort if @e i and @e j are iterators in the range
|
||||
* @p [__first,__middle) such that i precedes j and @e k is an iterator in
|
||||
* the range @p [__middle,__last) then *j<*i and *k<*i are both false.
|
||||
*/
|
||||
template<typename _RandomAccessIterator>
|
||||
inline void
|
||||
|
@ -5296,8 +5296,8 @@ _GLIBCXX_BEGIN_NAMESPACE_ALGO
|
|||
* @p [__first,__last) and moves them to the range @p [__first,__middle). The
|
||||
* order of the remaining elements in the range @p [__middle,__last) is
|
||||
* undefined.
|
||||
* After the sort if @p i and @j are iterators in the range
|
||||
* @p [__first,__middle) such that @i precedes @j and @k is an iterator in
|
||||
* After the sort if @e i and @e j are iterators in the range
|
||||
* @p [__first,__middle) such that i precedes j and @e k is an iterator in
|
||||
* the range @p [__middle,__last) then @p *__comp(j,*i) and @p __comp(*k,*i)
|
||||
* are both false.
|
||||
*/
|
||||
|
@ -5333,11 +5333,10 @@ _GLIBCXX_BEGIN_NAMESPACE_ALGO
|
|||
*
|
||||
* Rearranges the elements in the range @p [__first,__last) so that @p *__nth
|
||||
* is the same element that would have been in that position had the
|
||||
* whole sequence been sorted.
|
||||
* whole sequence been sorted. The elements either side of @p *__nth are
|
||||
* not completely sorted, but for any iterator @i in the range
|
||||
* @p [__first,__nth) and any iterator @j in the range @p [__nth,__last) it
|
||||
* holds that @p *j<*i is false.
|
||||
* not completely sorted, but for any iterator @e i in the range
|
||||
* @p [__first,__nth) and any iterator @e j in the range @p [__nth,__last) it
|
||||
* holds that *j < *i is false.
|
||||
*/
|
||||
template<typename _RandomAccessIterator>
|
||||
inline void
|
||||
|
@ -5374,8 +5373,8 @@ _GLIBCXX_BEGIN_NAMESPACE_ALGO
|
|||
* Rearranges the elements in the range @p [__first,__last) so that @p *__nth
|
||||
* is the same element that would have been in that position had the
|
||||
* whole sequence been sorted. The elements either side of @p *__nth are
|
||||
* not completely sorted, but for any iterator @i in the range
|
||||
* @p [__first,__nth) and any iterator @j in the range @p [__nth,__last) it
|
||||
* not completely sorted, but for any iterator @e i in the range
|
||||
* @p [__first,__nth) and any iterator @e j in the range @p [__nth,__last) it
|
||||
* holds that @p __comp(*j,*i) is false.
|
||||
*/
|
||||
template<typename _RandomAccessIterator, typename _Compare>
|
||||
|
@ -5410,8 +5409,8 @@ _GLIBCXX_BEGIN_NAMESPACE_ALGO
|
|||
* @return Nothing.
|
||||
*
|
||||
* Sorts the elements in the range @p [__first,__last) in ascending order,
|
||||
* such that @p *(i+1)<*i is false for each iterator @p i in the range
|
||||
* @p [__first,__last-1).
|
||||
* such that for each iterator @e i in the range @p [__first,__last-1),
|
||||
* *(i+1)<*i is false.
|
||||
*
|
||||
* The relative ordering of equivalent elements is not preserved, use
|
||||
* @p stable_sort() if this is needed.
|
||||
|
@ -5446,7 +5445,7 @@ _GLIBCXX_BEGIN_NAMESPACE_ALGO
|
|||
* @return Nothing.
|
||||
*
|
||||
* Sorts the elements in the range @p [__first,__last) in ascending order,
|
||||
* such that @p __comp(*(i+1),*i) is false for every iterator @p i in the
|
||||
* such that @p __comp(*(i+1),*i) is false for every iterator @e i in the
|
||||
* range @p [__first,__last-1).
|
||||
*
|
||||
* The relative ordering of equivalent elements is not preserved, use
|
||||
|
@ -5484,10 +5483,10 @@ _GLIBCXX_BEGIN_NAMESPACE_ALGO
|
|||
* @param __last2 Another iterator.
|
||||
* @param __result An iterator pointing to the end of the merged range.
|
||||
* @return An iterator pointing to the first element <em>not less
|
||||
* than</em> @a val.
|
||||
* than</em> @e val.
|
||||
*
|
||||
* Merges the ranges [__first1,__last1) and [__first2,__last2) into
|
||||
* the sorted range [__result, __result + (__last1-__first1) +
|
||||
* Merges the ranges @p [__first1,__last1) and @p [__first2,__last2) into
|
||||
* the sorted range @p [__result, __result + (__last1-__first1) +
|
||||
* (__last2-__first2)). Both input ranges must be sorted, and the
|
||||
* output range must not overlap with either of the input ranges.
|
||||
* The sort is @e stable, that is, for equivalent elements in the
|
||||
|
@ -5545,10 +5544,10 @@ _GLIBCXX_BEGIN_NAMESPACE_ALGO
|
|||
* @param __result An iterator pointing to the end of the merged range.
|
||||
* @param __comp A functor to use for comparisons.
|
||||
* @return An iterator pointing to the first element "not less
|
||||
* than" @a val.
|
||||
* than" @e val.
|
||||
*
|
||||
* Merges the ranges [__first1,__last1) and [__first2,__last2) into
|
||||
* the sorted range [__result, __result + (__last1-__first1) +
|
||||
* Merges the ranges @p [__first1,__last1) and @p [__first2,__last2) into
|
||||
* the sorted range @p [__result, __result + (__last1-__first1) +
|
||||
* (__last2-__first2)). Both input ranges must be sorted, and the
|
||||
* output range must not overlap with either of the input ranges.
|
||||
* The sort is @e stable, that is, for equivalent elements in the
|
||||
|
@ -5610,8 +5609,8 @@ _GLIBCXX_BEGIN_NAMESPACE_ALGO
|
|||
* @return Nothing.
|
||||
*
|
||||
* Sorts the elements in the range @p [__first,__last) in ascending order,
|
||||
* such that @p *(i+1)<*i is false for each iterator @p i in the range
|
||||
* @p [__first,__last-1).
|
||||
* such that for each iterator @p i in the range @p [__first,__last-1),
|
||||
* @p *(i+1)<*i is false.
|
||||
*
|
||||
* The relative ordering of equivalent elements is preserved, so any two
|
||||
* elements @p x and @p y in the range @p [__first,__last) such that
|
||||
|
@ -5652,8 +5651,8 @@ _GLIBCXX_BEGIN_NAMESPACE_ALGO
|
|||
* @return Nothing.
|
||||
*
|
||||
* Sorts the elements in the range @p [__first,__last) in ascending order,
|
||||
* such that @p __comp(*(i+1),*i) is false for each iterator @p i in the
|
||||
* range @p [__first,__last-1).
|
||||
* such that for each iterator @p i in the range @p [__first,__last-1),
|
||||
* @p __comp(*(i+1),*i) is false.
|
||||
*
|
||||
* The relative ordering of equivalent elements is preserved, so any two
|
||||
* elements @p x and @p y in the range @p [__first,__last) such that
|
||||
|
@ -5768,8 +5767,8 @@ _GLIBCXX_BEGIN_NAMESPACE_ALGO
|
|||
* This operation iterates over both ranges, copying elements present in
|
||||
* each range in order to the output range. Iterators increment for each
|
||||
* range. When the current element of one range is less than the other
|
||||
* according to @a __comp, that element is copied and the iterator advanced.
|
||||
* If an equivalent element according to @a __comp is contained in both
|
||||
* according to @p __comp, that element is copied and the iterator advanced.
|
||||
* If an equivalent element according to @p __comp is contained in both
|
||||
* ranges, the element from the first range is copied and both ranges
|
||||
* advance. The output range may not overlap either input range.
|
||||
*/
|
||||
|
@ -5892,8 +5891,8 @@ _GLIBCXX_BEGIN_NAMESPACE_ALGO
|
|||
* This operation iterates over both ranges, copying elements present in
|
||||
* both ranges in order to the output range. Iterators increment for each
|
||||
* range. When the current element of one range is less than the other
|
||||
* according to @a __comp, that iterator advances. If an element is
|
||||
* contained in both ranges according to @a __comp, the element from the
|
||||
* according to @p __comp, that iterator advances. If an element is
|
||||
* contained in both ranges according to @p __comp, the element from the
|
||||
* first range is copied and both ranges advance. The output range may not
|
||||
* overlap either input range.
|
||||
*/
|
||||
|
@ -6009,10 +6008,10 @@ _GLIBCXX_BEGIN_NAMESPACE_ALGO
|
|||
* This operation iterates over both ranges, copying elements present in
|
||||
* the first range but not the second in order to the output range.
|
||||
* Iterators increment for each range. When the current element of the
|
||||
* first range is less than the second according to @a comp, that element
|
||||
* first range is less than the second according to @p __comp, that element
|
||||
* is copied and the iterator advances. If the current element of the
|
||||
* second range is less, no element is copied and the iterator advances.
|
||||
* If an element is contained in both ranges according to @a comp, no
|
||||
* If an element is contained in both ranges according to @p __comp, no
|
||||
* elements are copied and both ranges advance. The output range may not
|
||||
* overlap either input range.
|
||||
*/
|
||||
|
@ -6135,9 +6134,9 @@ _GLIBCXX_BEGIN_NAMESPACE_ALGO
|
|||
* This operation iterates over both ranges, copying elements present in
|
||||
* one range but not the other in order to the output range. Iterators
|
||||
* increment for each range. When the current element of one range is less
|
||||
* than the other according to @a comp, that element is copied and the
|
||||
* than the other according to @p comp, that element is copied and the
|
||||
* iterator advances. If an element is contained in both ranges according
|
||||
* to @a comp, no elements are copied and both ranges advance. The output
|
||||
* to @p __comp, no elements are copied and both ranges advance. The output
|
||||
* range may not overlap either input range.
|
||||
*/
|
||||
template<typename _InputIterator1, typename _InputIterator2,
|
||||
|
@ -6223,7 +6222,7 @@ _GLIBCXX_BEGIN_NAMESPACE_ALGO
|
|||
* @param __last End of range.
|
||||
* @param __comp Comparison functor.
|
||||
* @return Iterator referencing the first instance of the smallest value
|
||||
* according to comp.
|
||||
* according to __comp.
|
||||
*/
|
||||
template<typename _ForwardIterator, typename _Compare>
|
||||
_ForwardIterator
|
||||
|
|
|
@ -1441,9 +1441,10 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
|
|||
|
||||
/**
|
||||
* @brief Merge sorted lists according to comparison function.
|
||||
* @param __x Sorted list to merge.
|
||||
* @tparam _StrictWeakOrdering Comparison function defining
|
||||
* sort order.
|
||||
* @param __x Sorted list to merge.
|
||||
* @param __comp Comparison functor.
|
||||
*
|
||||
* Assumes that both @a __x and this list are sorted according to
|
||||
* StrictWeakOrdering. Merges elements of @a __x into this list
|
||||
|
|
|
@ -133,7 +133,7 @@ _GLIBCXX_BEGIN_NAMESPACE_ALGO
|
|||
* @brief Accumulate values in a range with operation.
|
||||
*
|
||||
* Accumulates the values in the range [first,last) using the function
|
||||
* object @a binary_op. The initial value is @a init. The values are
|
||||
* object @p __binary_op. The initial value is @p __init. The values are
|
||||
* processed in order.
|
||||
*
|
||||
* @param __first Start of range.
|
||||
|
@ -159,7 +159,7 @@ _GLIBCXX_BEGIN_NAMESPACE_ALGO
|
|||
/**
|
||||
* @brief Compute inner product of two ranges.
|
||||
*
|
||||
* Starting with an initial value of @a init, multiplies successive
|
||||
* Starting with an initial value of @p __init, multiplies successive
|
||||
* elements from the two ranges and adds each product into the accumulated
|
||||
* value using operator+(). The values in the ranges are processed in
|
||||
* order.
|
||||
|
@ -188,9 +188,9 @@ _GLIBCXX_BEGIN_NAMESPACE_ALGO
|
|||
/**
|
||||
* @brief Compute inner product of two ranges.
|
||||
*
|
||||
* Starting with an initial value of @a init, applies @a binary_op2 to
|
||||
* Starting with an initial value of @p __init, applies @p __binary_op2 to
|
||||
* successive elements from the two ranges and accumulates each result into
|
||||
* the accumulated value using @a binary_op1. The values in the ranges are
|
||||
* the accumulated value using @p __binary_op1. The values in the ranges are
|
||||
* processed in order.
|
||||
*
|
||||
* @param __first1 Start of range 1.
|
||||
|
@ -224,14 +224,14 @@ _GLIBCXX_BEGIN_NAMESPACE_ALGO
|
|||
*
|
||||
* Accumulates the values in the range [first,last) using operator+().
|
||||
* As each successive input value is added into the total, that partial sum
|
||||
* is written to @a result. Therefore, the first value in result is the
|
||||
* is written to @p __result. Therefore, the first value in result is the
|
||||
* first value of the input, the second value in result is the sum of the
|
||||
* first and second input values, and so on.
|
||||
*
|
||||
* @param __first Start of input range.
|
||||
* @param __last End of input range.
|
||||
* @param __result Output to write sums to.
|
||||
* @return Iterator pointing just beyond the values written to result.
|
||||
* @param __result Output sum.
|
||||
* @return Iterator pointing just beyond the values written to __result.
|
||||
*/
|
||||
template<typename _InputIterator, typename _OutputIterator>
|
||||
_OutputIterator
|
||||
|
@ -263,14 +263,14 @@ _GLIBCXX_BEGIN_NAMESPACE_ALGO
|
|||
*
|
||||
* Accumulates the values in the range [first,last) using operator+().
|
||||
* As each successive input value is added into the total, that partial sum
|
||||
* is written to @a result. Therefore, the first value in result is the
|
||||
* is written to @p __result. Therefore, the first value in result is the
|
||||
* first value of the input, the second value in result is the sum of the
|
||||
* first and second input values, and so on.
|
||||
*
|
||||
* @param __first Start of input range.
|
||||
* @param __last End of input range.
|
||||
* @param __result Output to write sums to.
|
||||
* @return Iterator pointing just beyond the values written to result.
|
||||
* @param __result Output sum.
|
||||
* @return Iterator pointing just beyond the values written to __result.
|
||||
*/
|
||||
template<typename _InputIterator, typename _OutputIterator,
|
||||
typename _BinaryOperation>
|
||||
|
@ -302,11 +302,11 @@ _GLIBCXX_BEGIN_NAMESPACE_ALGO
|
|||
* @brief Return differences between adjacent values.
|
||||
*
|
||||
* Computes the difference between adjacent values in the range
|
||||
* [first,last) using operator-() and writes the result to @a result.
|
||||
* [first,last) using operator-() and writes the result to @p __result.
|
||||
*
|
||||
* @param __first Start of input range.
|
||||
* @param __last End of input range.
|
||||
* @param __result Output to write sums to.
|
||||
* @param __result Output sums.
|
||||
* @return Iterator pointing just beyond the values written to result.
|
||||
*
|
||||
* _GLIBCXX_RESOLVE_LIB_DEFECTS
|
||||
|
@ -342,12 +342,13 @@ _GLIBCXX_BEGIN_NAMESPACE_ALGO
|
|||
* @brief Return differences between adjacent values.
|
||||
*
|
||||
* Computes the difference between adjacent values in the range
|
||||
* [__first,__last) using the function object @a __binary_op and writes the
|
||||
* result to @a __result.
|
||||
* [__first,__last) using the function object @p __binary_op and writes the
|
||||
* result to @p __result.
|
||||
*
|
||||
* @param __first Start of input range.
|
||||
* @param __last End of input range.
|
||||
* @param __result Output to write sums to.
|
||||
* @param __result Output sum.
|
||||
* @param __binary_op Function object.
|
||||
* @return Iterator pointing just beyond the values written to result.
|
||||
*
|
||||
* _GLIBCXX_RESOLVE_LIB_DEFECTS
|
||||
|
|
|
@ -79,7 +79,7 @@ namespace __gnu_debug
|
|||
{ }
|
||||
|
||||
/** Initialize the iterator to reference the sequence pointed to
|
||||
* by @p__seq. @p __constant is true when we are initializing a
|
||||
* by @p __seq. @p __constant is true when we are initializing a
|
||||
* constant iterator, and false if it is a mutable iterator. Note
|
||||
* that @p __seq may be NULL, in which case the iterator will be
|
||||
* singular. Otherwise, the iterator will reference @p __seq and
|
||||
|
|
|
@ -68,6 +68,7 @@ namespace __gnu_parallel
|
|||
* thread number __thread_no+1 (excluded).
|
||||
* @param __n Number of elements
|
||||
* @param __num_threads Number of parts
|
||||
* @param __thread_no Number of threads
|
||||
* @returns splitting point */
|
||||
template<typename _DifferenceType>
|
||||
_DifferenceType
|
||||
|
|
|
@ -683,7 +683,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
|
|||
#endif
|
||||
|
||||
/**
|
||||
* @brief The %bitset class represents a @e fixed-size sequence of bits.
|
||||
* The %bitset class represents a @e fixed-size sequence of bits.
|
||||
*
|
||||
* @ingroup containers
|
||||
*
|
||||
|
@ -855,7 +855,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
|
|||
#endif
|
||||
|
||||
/**
|
||||
* @brief Use a subset of a string.
|
||||
* Use a subset of a string.
|
||||
* @param __s A string of @a 0 and @a 1 characters.
|
||||
* @param __position Index of the first character in @a __s to use;
|
||||
* defaults to zero.
|
||||
|
@ -878,7 +878,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
|
|||
}
|
||||
|
||||
/**
|
||||
* @brief Use a subset of a string.
|
||||
* Use a subset of a string.
|
||||
* @param __s A string of @a 0 and @a 1 characters.
|
||||
* @param __position Index of the first character in @a __s to use.
|
||||
* @param __n The number of characters to copy.
|
||||
|
@ -914,7 +914,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
|
|||
|
||||
#ifdef __GXX_EXPERIMENTAL_CXX0X__
|
||||
/**
|
||||
* @brief Construct from a character %array.
|
||||
* Construct from a character %array.
|
||||
* @param __str An %array of characters @a zero and @a one.
|
||||
* @param __n The number of characters to use.
|
||||
* @param __zero The character corresponding to the value 0.
|
||||
|
@ -944,7 +944,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
|
|||
// 23.3.5.2 bitset operations:
|
||||
//@{
|
||||
/**
|
||||
* @brief Operations on bitsets.
|
||||
* Operations on bitsets.
|
||||
* @param __rhs A same-sized bitset.
|
||||
*
|
||||
* These should be self-explanatory.
|
||||
|
@ -973,7 +973,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
|
|||
|
||||
//@{
|
||||
/**
|
||||
* @brief Operations on bitsets.
|
||||
* Operations on bitsets.
|
||||
* @param __position The number of places to shift.
|
||||
*
|
||||
* These should be self-explanatory.
|
||||
|
|
|
@ -1035,8 +1035,8 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
|||
: std::pow(complex<_Tp>(__x), __y);
|
||||
}
|
||||
|
||||
// 26.2.3 complex specializations
|
||||
// complex<float> specialization
|
||||
/// 26.2.3 complex specializations
|
||||
/// complex<float> specialization
|
||||
template<>
|
||||
struct complex<float>
|
||||
{
|
||||
|
@ -1182,8 +1182,8 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
|||
_ComplexT _M_value;
|
||||
};
|
||||
|
||||
// 26.2.3 complex specializations
|
||||
// complex<double> specialization
|
||||
/// 26.2.3 complex specializations
|
||||
/// complex<double> specialization
|
||||
template<>
|
||||
struct complex<double>
|
||||
{
|
||||
|
@ -1330,8 +1330,8 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
|||
_ComplexT _M_value;
|
||||
};
|
||||
|
||||
// 26.2.3 complex specializations
|
||||
// complex<long double> specialization
|
||||
/// 26.2.3 complex specializations
|
||||
/// complex<long double> specialization
|
||||
template<>
|
||||
struct complex<long double>
|
||||
{
|
||||
|
|
|
@ -620,7 +620,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
|||
* @param __mode Open file in specified mode (see std::ios_base).
|
||||
*
|
||||
* @c ios_base::out|ios_base::trunc is automatically included in
|
||||
* @a __mode.
|
||||
* @p __mode.
|
||||
*
|
||||
* Tip: When using std::string to hold the filename, you must use
|
||||
* .c_str() before passing it to this constructor.
|
||||
|
|
|
@ -44,9 +44,8 @@ namespace std _GLIBCXX_VISIBILITY(default)
|
|||
{
|
||||
_GLIBCXX_BEGIN_NAMESPACE_VERSION
|
||||
|
||||
// [27.6.1.1] Template class basic_istream
|
||||
/**
|
||||
* @brief Controlling input.
|
||||
* @brief Template class basic_istream.
|
||||
* @ingroup io
|
||||
*
|
||||
* This is the base class for all input streams. It provides text
|
||||
|
@ -58,19 +57,19 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
|||
{
|
||||
public:
|
||||
// Types (inherited from basic_ios (27.4.4)):
|
||||
typedef _CharT char_type;
|
||||
typedef _CharT char_type;
|
||||
typedef typename _Traits::int_type int_type;
|
||||
typedef typename _Traits::pos_type pos_type;
|
||||
typedef typename _Traits::off_type off_type;
|
||||
typedef _Traits traits_type;
|
||||
|
||||
typedef _Traits traits_type;
|
||||
|
||||
// Non-standard Types:
|
||||
typedef basic_streambuf<_CharT, _Traits> __streambuf_type;
|
||||
typedef basic_ios<_CharT, _Traits> __ios_type;
|
||||
typedef basic_istream<_CharT, _Traits> __istream_type;
|
||||
typedef num_get<_CharT, istreambuf_iterator<_CharT, _Traits> >
|
||||
typedef num_get<_CharT, istreambuf_iterator<_CharT, _Traits> >
|
||||
__num_get_type;
|
||||
typedef ctype<_CharT> __ctype_type;
|
||||
typedef ctype<_CharT> __ctype_type;
|
||||
|
||||
protected:
|
||||
// Data Members:
|
||||
|
@ -81,7 +80,6 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
|||
streamsize _M_gcount;
|
||||
|
||||
public:
|
||||
// [27.6.1.1.1] constructor/destructor
|
||||
/**
|
||||
* @brief Base constructor.
|
||||
*
|
||||
|
@ -99,23 +97,21 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
|||
*
|
||||
* This does very little apart from providing a virtual base dtor.
|
||||
*/
|
||||
virtual
|
||||
~basic_istream()
|
||||
virtual
|
||||
~basic_istream()
|
||||
{ _M_gcount = streamsize(0); }
|
||||
|
||||
// [27.6.1.1.2] prefix/suffix
|
||||
/// Safe prefix/suffix operations.
|
||||
class sentry;
|
||||
friend class sentry;
|
||||
|
||||
// [27.6.1.2] formatted input
|
||||
// [27.6.1.2.3] basic_istream::operator>>
|
||||
//@{
|
||||
/**
|
||||
* @brief Interface for manipulators.
|
||||
*
|
||||
* Manipulators such as @c std::ws and @c std::dec use these
|
||||
* functions in constructs like
|
||||
* <code>std::cin >> std::ws</code>.
|
||||
* functions in constructs like
|
||||
* <code>std::cin >> std::ws</code>.
|
||||
* For more information, see the iomanip header.
|
||||
*/
|
||||
__istream_type&
|
||||
|
@ -124,7 +120,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
|||
|
||||
__istream_type&
|
||||
operator>>(__ios_type& (*__pf)(__ios_type&))
|
||||
{
|
||||
{
|
||||
__pf(*this);
|
||||
return *this;
|
||||
}
|
||||
|
@ -136,10 +132,10 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
|||
return *this;
|
||||
}
|
||||
//@}
|
||||
|
||||
// [27.6.1.2.2] arithmetic extractors
|
||||
|
||||
//@{
|
||||
/**
|
||||
* @name Arithmetic Extractors
|
||||
* @name Extractors
|
||||
*
|
||||
* All the @c operator>> functions (aka <em>formatted input
|
||||
* functions</em>) have some common behavior. Each starts by
|
||||
|
@ -156,64 +152,84 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
|||
* ios_base::failure to be thrown. The original exception will then
|
||||
* be rethrown.
|
||||
*/
|
||||
|
||||
//@{
|
||||
/**
|
||||
* @brief Basic arithmetic extractors
|
||||
* @param __n, __f, __p: A variable of builtin type.
|
||||
* @brief Integer arithmetic extractors
|
||||
* @param __n A variable of builtin integral type.
|
||||
* @return @c *this if successful
|
||||
*
|
||||
* These functions use the stream's current locale (specifically, the
|
||||
* @c num_get facet) to parse the input data.
|
||||
*/
|
||||
__istream_type&
|
||||
__istream_type&
|
||||
operator>>(bool& __n)
|
||||
{ return _M_extract(__n); }
|
||||
|
||||
__istream_type&
|
||||
|
||||
__istream_type&
|
||||
operator>>(short& __n);
|
||||
|
||||
__istream_type&
|
||||
|
||||
__istream_type&
|
||||
operator>>(unsigned short& __n)
|
||||
{ return _M_extract(__n); }
|
||||
|
||||
__istream_type&
|
||||
__istream_type&
|
||||
operator>>(int& __n);
|
||||
|
||||
__istream_type&
|
||||
|
||||
__istream_type&
|
||||
operator>>(unsigned int& __n)
|
||||
{ return _M_extract(__n); }
|
||||
|
||||
__istream_type&
|
||||
__istream_type&
|
||||
operator>>(long& __n)
|
||||
{ return _M_extract(__n); }
|
||||
|
||||
__istream_type&
|
||||
|
||||
__istream_type&
|
||||
operator>>(unsigned long& __n)
|
||||
{ return _M_extract(__n); }
|
||||
|
||||
#ifdef _GLIBCXX_USE_LONG_LONG
|
||||
__istream_type&
|
||||
__istream_type&
|
||||
operator>>(long long& __n)
|
||||
{ return _M_extract(__n); }
|
||||
|
||||
__istream_type&
|
||||
__istream_type&
|
||||
operator>>(unsigned long long& __n)
|
||||
{ return _M_extract(__n); }
|
||||
#endif
|
||||
//@}
|
||||
|
||||
__istream_type&
|
||||
//@{
|
||||
/**
|
||||
* @brief Floating point arithmetic extractors
|
||||
* @param __f A variable of builtin floating point type.
|
||||
* @return @c *this if successful
|
||||
*
|
||||
* These functions use the stream's current locale (specifically, the
|
||||
* @c num_get facet) to parse the input data.
|
||||
*/
|
||||
__istream_type&
|
||||
operator>>(float& __f)
|
||||
{ return _M_extract(__f); }
|
||||
|
||||
__istream_type&
|
||||
__istream_type&
|
||||
operator>>(double& __f)
|
||||
{ return _M_extract(__f); }
|
||||
|
||||
__istream_type&
|
||||
__istream_type&
|
||||
operator>>(long double& __f)
|
||||
{ return _M_extract(__f); }
|
||||
//@}
|
||||
|
||||
__istream_type&
|
||||
/**
|
||||
* @brief Basic arithmetic extractors
|
||||
* @param __p A variable of pointer type.
|
||||
* @return @c *this if successful
|
||||
*
|
||||
* These functions use the stream's current locale (specifically, the
|
||||
* @c num_get facet) to parse the input data.
|
||||
*/
|
||||
__istream_type&
|
||||
operator>>(void*& __p)
|
||||
{ return _M_extract(__p); }
|
||||
|
||||
|
@ -225,10 +241,10 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
|||
* in that it also constructs a sentry object and has the same error
|
||||
* handling behavior.
|
||||
*
|
||||
* If @a __sb is NULL, the stream will set failbit in its error state.
|
||||
* If @p __sb is NULL, the stream will set failbit in its error state.
|
||||
*
|
||||
* Characters are extracted from this stream and inserted into the
|
||||
* @a sb streambuf until one of the following occurs:
|
||||
* @p __sb streambuf until one of the following occurs:
|
||||
*
|
||||
* - the input stream reaches end-of-file,
|
||||
* - insertion into the output buffer fails (in this case, the
|
||||
|
@ -237,20 +253,21 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
|||
*
|
||||
* If the function inserts no characters, failbit is set.
|
||||
*/
|
||||
__istream_type&
|
||||
__istream_type&
|
||||
operator>>(__streambuf_type* __sb);
|
||||
//@}
|
||||
|
||||
|
||||
// [27.6.1.3] unformatted input
|
||||
/**
|
||||
* @brief Character counting
|
||||
* @return The number of characters extracted by the previous
|
||||
* unformatted input function dispatched for this stream.
|
||||
*/
|
||||
streamsize
|
||||
gcount() const
|
||||
streamsize
|
||||
gcount() const
|
||||
{ return _M_gcount; }
|
||||
|
||||
|
||||
//@{
|
||||
/**
|
||||
* @name Unformatted Input Functions
|
||||
*
|
||||
|
@ -271,7 +288,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
|||
* ios_base::failure to be thrown. The original exception will then
|
||||
* be rethrown.
|
||||
*/
|
||||
//@{
|
||||
|
||||
/**
|
||||
* @brief Simple extraction.
|
||||
* @return A character, or eof().
|
||||
|
@ -279,7 +296,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
|||
* Tries to extract a character. If none are available, sets failbit
|
||||
* and returns traits::eof().
|
||||
*/
|
||||
int_type
|
||||
int_type
|
||||
get();
|
||||
|
||||
/**
|
||||
|
@ -293,7 +310,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
|||
* @note This function is not overloaded on signed char and
|
||||
* unsigned char.
|
||||
*/
|
||||
__istream_type&
|
||||
__istream_type&
|
||||
get(char_type& __c);
|
||||
|
||||
/**
|
||||
|
@ -320,7 +337,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
|||
* @note This function is not overloaded on signed char and
|
||||
* unsigned char.
|
||||
*/
|
||||
__istream_type&
|
||||
__istream_type&
|
||||
get(char_type* __s, streamsize __n, char_type __delim);
|
||||
|
||||
/**
|
||||
|
@ -331,7 +348,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
|||
*
|
||||
* Returns @c get(__s,__n,widen('\\n')).
|
||||
*/
|
||||
__istream_type&
|
||||
__istream_type&
|
||||
get(char_type* __s, streamsize __n)
|
||||
{ return this->get(__s, __n, this->widen('\n')); }
|
||||
|
||||
|
@ -393,7 +410,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
|||
* In any case, a null character is stored in the next location in
|
||||
* the array.
|
||||
*/
|
||||
__istream_type&
|
||||
__istream_type&
|
||||
getline(char_type* __s, streamsize __n, char_type __delim);
|
||||
|
||||
/**
|
||||
|
@ -404,7 +421,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
|||
*
|
||||
* Returns @c getline(__s,__n,widen('\\n')).
|
||||
*/
|
||||
__istream_type&
|
||||
__istream_type&
|
||||
getline(char_type* __s, streamsize __n)
|
||||
{ return this->getline(__s, __n, this->widen('\n')); }
|
||||
|
||||
|
@ -428,13 +445,13 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
|||
* better performing implementation, while still conforming to
|
||||
* the Standard.
|
||||
*/
|
||||
__istream_type&
|
||||
__istream_type&
|
||||
ignore(streamsize __n, int_type __delim);
|
||||
|
||||
__istream_type&
|
||||
__istream_type&
|
||||
ignore(streamsize __n);
|
||||
|
||||
__istream_type&
|
||||
__istream_type&
|
||||
ignore();
|
||||
|
||||
/**
|
||||
|
@ -445,9 +462,9 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
|||
* returns @c traits::eof(). Otherwise reads but does not extract
|
||||
* the next input character.
|
||||
*/
|
||||
int_type
|
||||
int_type
|
||||
peek();
|
||||
|
||||
|
||||
/**
|
||||
* @brief Extraction without delimiters.
|
||||
* @param __s A character array.
|
||||
|
@ -463,7 +480,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
|||
* @note This function is not overloaded on signed char and
|
||||
* unsigned char.
|
||||
*/
|
||||
__istream_type&
|
||||
__istream_type&
|
||||
read(char_type* __s, streamsize __n);
|
||||
|
||||
/**
|
||||
|
@ -482,9 +499,9 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
|||
* The goal is to empty the current buffer, and to not request any
|
||||
* more from the external input sequence controlled by the streambuf.
|
||||
*/
|
||||
streamsize
|
||||
streamsize
|
||||
readsome(char_type* __s, streamsize __n);
|
||||
|
||||
|
||||
/**
|
||||
* @brief Unextracting a single character.
|
||||
* @param __c The character to push back into the input stream.
|
||||
|
@ -499,7 +516,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
|||
* are extracted, the next call to @c gcount() will return 0,
|
||||
* as required by DR 60.
|
||||
*/
|
||||
__istream_type&
|
||||
__istream_type&
|
||||
putback(char_type __c);
|
||||
|
||||
/**
|
||||
|
@ -515,7 +532,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
|||
* are extracted, the next call to @c gcount() will return 0,
|
||||
* as required by DR 60.
|
||||
*/
|
||||
__istream_type&
|
||||
__istream_type&
|
||||
unget();
|
||||
|
||||
/**
|
||||
|
@ -533,7 +550,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
|||
* extracted, if any, and therefore does not affect the next
|
||||
* call to @c gcount().
|
||||
*/
|
||||
int
|
||||
int
|
||||
sync();
|
||||
|
||||
/**
|
||||
|
@ -579,7 +596,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
|||
* number of characters extracted, if any, and therefore does
|
||||
* not affect the next call to @c gcount().
|
||||
*/
|
||||
__istream_type&
|
||||
__istream_type&
|
||||
seekg(off_type, ios_base::seekdir);
|
||||
//@}
|
||||
|
||||
|
@ -589,29 +606,29 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
|||
{ this->init(0); }
|
||||
|
||||
template<typename _ValueT>
|
||||
__istream_type&
|
||||
_M_extract(_ValueT& __v);
|
||||
__istream_type&
|
||||
_M_extract(_ValueT& __v);
|
||||
};
|
||||
|
||||
// Explicit specialization declarations, defined in src/istream.cc.
|
||||
template<>
|
||||
basic_istream<char>&
|
||||
/// Explicit specialization declarations, defined in src/istream.cc.
|
||||
template<>
|
||||
basic_istream<char>&
|
||||
basic_istream<char>::
|
||||
getline(char_type* __s, streamsize __n, char_type __delim);
|
||||
|
||||
|
||||
template<>
|
||||
basic_istream<char>&
|
||||
basic_istream<char>::
|
||||
ignore(streamsize __n);
|
||||
|
||||
|
||||
template<>
|
||||
basic_istream<char>&
|
||||
basic_istream<char>::
|
||||
ignore(streamsize __n, int_type __delim);
|
||||
|
||||
#ifdef _GLIBCXX_USE_WCHAR_T
|
||||
template<>
|
||||
basic_istream<wchar_t>&
|
||||
template<>
|
||||
basic_istream<wchar_t>&
|
||||
basic_istream<wchar_t>::
|
||||
getline(char_type* __s, streamsize __n, char_type __delim);
|
||||
|
||||
|
@ -619,7 +636,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
|||
basic_istream<wchar_t>&
|
||||
basic_istream<wchar_t>::
|
||||
ignore(streamsize __n);
|
||||
|
||||
|
||||
template<>
|
||||
basic_istream<wchar_t>&
|
||||
basic_istream<wchar_t>::
|
||||
|
@ -687,7 +704,6 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
|||
{ return _M_ok; }
|
||||
};
|
||||
|
||||
// [27.6.1.2.3] character extraction templates
|
||||
//@{
|
||||
/**
|
||||
* @brief Character extractors
|
||||
|
@ -762,9 +778,8 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
|||
{ return (__in >> reinterpret_cast<char*>(__s)); }
|
||||
//@}
|
||||
|
||||
// 27.6.1.5 Template class basic_iostream
|
||||
/**
|
||||
* @brief Merging istream and ostream capabilities.
|
||||
* @brief Template class basic_iostream
|
||||
* @ingroup io
|
||||
*
|
||||
* This class multiply inherits from the input and output stream classes
|
||||
|
@ -772,18 +787,18 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
|||
*/
|
||||
template<typename _CharT, typename _Traits>
|
||||
class basic_iostream
|
||||
: public basic_istream<_CharT, _Traits>,
|
||||
: public basic_istream<_CharT, _Traits>,
|
||||
public basic_ostream<_CharT, _Traits>
|
||||
{
|
||||
public:
|
||||
// _GLIBCXX_RESOLVE_LIB_DEFECTS
|
||||
// 271. basic_iostream missing typedefs
|
||||
// Types (inherited):
|
||||
typedef _CharT char_type;
|
||||
typedef _CharT char_type;
|
||||
typedef typename _Traits::int_type int_type;
|
||||
typedef typename _Traits::pos_type pos_type;
|
||||
typedef typename _Traits::off_type off_type;
|
||||
typedef _Traits traits_type;
|
||||
typedef _Traits traits_type;
|
||||
|
||||
// Non-standard Types:
|
||||
typedef basic_istream<_CharT, _Traits> __istream_type;
|
||||
|
@ -802,7 +817,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
|||
/**
|
||||
* @brief Destructor does nothing.
|
||||
*/
|
||||
virtual
|
||||
virtual
|
||||
~basic_iostream() { }
|
||||
|
||||
protected:
|
||||
|
@ -810,7 +825,6 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
|||
: __istream_type(), __ostream_type() { }
|
||||
};
|
||||
|
||||
// [27.6.1.4] standard basic_istream manipulators
|
||||
/**
|
||||
* @brief Quick and easy way to eat whitespace
|
||||
*
|
||||
|
@ -832,7 +846,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
|||
* std::basic_istream::sentry inside your definition of operator>>.
|
||||
*/
|
||||
template<typename _CharT, typename _Traits>
|
||||
basic_istream<_CharT, _Traits>&
|
||||
basic_istream<_CharT, _Traits>&
|
||||
ws(basic_istream<_CharT, _Traits>& __is);
|
||||
|
||||
#ifdef __GXX_EXPERIMENTAL_CXX0X__
|
||||
|
|
|
@ -44,9 +44,8 @@ namespace std _GLIBCXX_VISIBILITY(default)
|
|||
{
|
||||
_GLIBCXX_BEGIN_NAMESPACE_VERSION
|
||||
|
||||
// [27.6.2.1] Template class basic_ostream
|
||||
/**
|
||||
* @brief Controlling output.
|
||||
* @brief Template class basic_ostream.
|
||||
* @ingroup io
|
||||
*
|
||||
* This is the base class for all output streams. It provides text
|
||||
|
@ -57,22 +56,21 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
|||
class basic_ostream : virtual public basic_ios<_CharT, _Traits>
|
||||
{
|
||||
public:
|
||||
// Types (inherited from basic_ios (27.4.4)):
|
||||
typedef _CharT char_type;
|
||||
// Types (inherited from basic_ios):
|
||||
typedef _CharT char_type;
|
||||
typedef typename _Traits::int_type int_type;
|
||||
typedef typename _Traits::pos_type pos_type;
|
||||
typedef typename _Traits::off_type off_type;
|
||||
typedef _Traits traits_type;
|
||||
|
||||
typedef _Traits traits_type;
|
||||
|
||||
// Non-standard Types:
|
||||
typedef basic_streambuf<_CharT, _Traits> __streambuf_type;
|
||||
typedef basic_ios<_CharT, _Traits> __ios_type;
|
||||
typedef basic_ostream<_CharT, _Traits> __ostream_type;
|
||||
typedef num_put<_CharT, ostreambuf_iterator<_CharT, _Traits> >
|
||||
typedef num_put<_CharT, ostreambuf_iterator<_CharT, _Traits> >
|
||||
__num_put_type;
|
||||
typedef ctype<_CharT> __ctype_type;
|
||||
typedef ctype<_CharT> __ctype_type;
|
||||
|
||||
// [27.6.2.2] constructor/destructor
|
||||
/**
|
||||
* @brief Base constructor.
|
||||
*
|
||||
|
@ -80,7 +78,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
|||
* derived classes' initialization lists, which pass a pointer to
|
||||
* their own stream buffer.
|
||||
*/
|
||||
explicit
|
||||
explicit
|
||||
basic_ostream(__streambuf_type* __sb)
|
||||
{ this->init(__sb); }
|
||||
|
||||
|
@ -89,15 +87,13 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
|||
*
|
||||
* This does very little apart from providing a virtual base dtor.
|
||||
*/
|
||||
virtual
|
||||
virtual
|
||||
~basic_ostream() { }
|
||||
|
||||
// [27.6.2.3] prefix/suffix
|
||||
/// Safe prefix/suffix operations.
|
||||
class sentry;
|
||||
friend class sentry;
|
||||
|
||||
// [27.6.2.5] formatted output
|
||||
// [27.6.2.5.3] basic_ostream::operator<<
|
||||
|
||||
//@{
|
||||
/**
|
||||
* @brief Interface for manipulators.
|
||||
|
@ -136,9 +132,9 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
|||
}
|
||||
//@}
|
||||
|
||||
// [27.6.2.5.2] arithmetic inserters
|
||||
//@{
|
||||
/**
|
||||
* @name Arithmetic Inserters
|
||||
* @name Inserters
|
||||
*
|
||||
* All the @c operator<< functions (aka <em>formatted output
|
||||
* functions</em>) have some common behavior. Each starts by
|
||||
|
@ -154,31 +150,32 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
|||
* ios_base::failure to be thrown. The original exception will then
|
||||
* be rethrown.
|
||||
*/
|
||||
|
||||
//@{
|
||||
/**
|
||||
* @brief Basic arithmetic inserters
|
||||
* @param __n, __f, __p A variable of builtin type.
|
||||
* @brief Integer arithmetic inserters
|
||||
* @param __n A variable of builtin integral type.
|
||||
* @return @c *this if successful
|
||||
*
|
||||
* These functions use the stream's current locale (specifically, the
|
||||
* @c num_get facet) to perform numeric formatting.
|
||||
*/
|
||||
__ostream_type&
|
||||
__ostream_type&
|
||||
operator<<(long __n)
|
||||
{ return _M_insert(__n); }
|
||||
|
||||
__ostream_type&
|
||||
operator<<(unsigned long __n)
|
||||
{ return _M_insert(__n); }
|
||||
|
||||
__ostream_type&
|
||||
__ostream_type&
|
||||
operator<<(unsigned long __n)
|
||||
{ return _M_insert(__n); }
|
||||
|
||||
__ostream_type&
|
||||
operator<<(bool __n)
|
||||
{ return _M_insert(__n); }
|
||||
|
||||
__ostream_type&
|
||||
__ostream_type&
|
||||
operator<<(short __n);
|
||||
|
||||
__ostream_type&
|
||||
__ostream_type&
|
||||
operator<<(unsigned short __n)
|
||||
{
|
||||
// _GLIBCXX_RESOLVE_LIB_DEFECTS
|
||||
|
@ -186,10 +183,10 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
|||
return _M_insert(static_cast<unsigned long>(__n));
|
||||
}
|
||||
|
||||
__ostream_type&
|
||||
__ostream_type&
|
||||
operator<<(int __n);
|
||||
|
||||
__ostream_type&
|
||||
__ostream_type&
|
||||
operator<<(unsigned int __n)
|
||||
{
|
||||
// _GLIBCXX_RESOLVE_LIB_DEFECTS
|
||||
|
@ -198,20 +195,30 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
|||
}
|
||||
|
||||
#ifdef _GLIBCXX_USE_LONG_LONG
|
||||
__ostream_type&
|
||||
__ostream_type&
|
||||
operator<<(long long __n)
|
||||
{ return _M_insert(__n); }
|
||||
|
||||
__ostream_type&
|
||||
__ostream_type&
|
||||
operator<<(unsigned long long __n)
|
||||
{ return _M_insert(__n); }
|
||||
{ return _M_insert(__n); }
|
||||
#endif
|
||||
//@}
|
||||
|
||||
__ostream_type&
|
||||
//@{
|
||||
/**
|
||||
* @brief Floating point arithmetic inserters
|
||||
* @param __f A variable of builtin floating point type.
|
||||
* @return @c *this if successful
|
||||
*
|
||||
* These functions use the stream's current locale (specifically, the
|
||||
* @c num_get facet) to perform numeric formatting.
|
||||
*/
|
||||
__ostream_type&
|
||||
operator<<(double __f)
|
||||
{ return _M_insert(__f); }
|
||||
|
||||
__ostream_type&
|
||||
__ostream_type&
|
||||
operator<<(float __f)
|
||||
{
|
||||
// _GLIBCXX_RESOLVE_LIB_DEFECTS
|
||||
|
@ -219,11 +226,20 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
|||
return _M_insert(static_cast<double>(__f));
|
||||
}
|
||||
|
||||
__ostream_type&
|
||||
__ostream_type&
|
||||
operator<<(long double __f)
|
||||
{ return _M_insert(__f); }
|
||||
//@}
|
||||
|
||||
__ostream_type&
|
||||
/**
|
||||
* @brief Pointer arithmetic inserters
|
||||
* @param __p A variable of pointer type.
|
||||
* @return @c *this if successful
|
||||
*
|
||||
* These functions use the stream's current locale (specifically, the
|
||||
* @c num_get facet) to perform numeric formatting.
|
||||
*/
|
||||
__ostream_type&
|
||||
operator<<(const void* __p)
|
||||
{ return _M_insert(__p); }
|
||||
|
||||
|
@ -235,24 +251,24 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
|||
* in that it also constructs a sentry object and has the same error
|
||||
* handling behavior.
|
||||
*
|
||||
* If @a __sb is NULL, the stream will set failbit in its error state.
|
||||
* If @p __sb is NULL, the stream will set failbit in its error state.
|
||||
*
|
||||
* Characters are extracted from @a __sb and inserted into @c *this
|
||||
* Characters are extracted from @p __sb and inserted into @c *this
|
||||
* until one of the following occurs:
|
||||
*
|
||||
* - the input stream reaches end-of-file,
|
||||
* - insertion into the output sequence fails (in this case, the
|
||||
* character that would have been inserted is not extracted), or
|
||||
* - an exception occurs while getting a character from @a __sb, which
|
||||
* - an exception occurs while getting a character from @p __sb, which
|
||||
* sets failbit in the error state
|
||||
*
|
||||
* If the function inserts no characters, failbit is set.
|
||||
*/
|
||||
__ostream_type&
|
||||
__ostream_type&
|
||||
operator<<(__streambuf_type* __sb);
|
||||
//@}
|
||||
|
||||
// [27.6.2.6] unformatted output functions
|
||||
//@{
|
||||
/**
|
||||
* @name Unformatted Output Functions
|
||||
*
|
||||
|
@ -270,21 +286,25 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
|||
* the stream's exceptions mask, the exception will be rethrown
|
||||
* without completing its actions.
|
||||
*/
|
||||
//@{
|
||||
|
||||
/**
|
||||
* @brief Simple insertion.
|
||||
* @param __c The character to insert.
|
||||
* @return *this
|
||||
*
|
||||
* Tries to insert @a c.
|
||||
* Tries to insert @p __c.
|
||||
*
|
||||
* @note This function is not overloaded on signed char and
|
||||
* unsigned char.
|
||||
*/
|
||||
__ostream_type&
|
||||
__ostream_type&
|
||||
put(char_type __c);
|
||||
|
||||
// Core write functionality, without sentry.
|
||||
/**
|
||||
* @brief Core write functionality, without sentry.
|
||||
* @param __s The array to insert.
|
||||
* @param __n Maximum number of characters to insert.
|
||||
*/
|
||||
void
|
||||
_M_write(const char_type* __s, streamsize __n)
|
||||
{
|
||||
|
@ -299,17 +319,17 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
|||
* @param __n Maximum number of characters to insert.
|
||||
* @return *this
|
||||
*
|
||||
* Characters are copied from @a __s and inserted into the stream until
|
||||
* Characters are copied from @p __s and inserted into the stream until
|
||||
* one of the following happens:
|
||||
*
|
||||
* - @a __n characters are inserted
|
||||
* - @p __n characters are inserted
|
||||
* - inserting into the output sequence fails (in this case, badbit
|
||||
* will be set in the stream's error state)
|
||||
*
|
||||
* @note This function is not overloaded on signed char and
|
||||
* unsigned char.
|
||||
*/
|
||||
__ostream_type&
|
||||
__ostream_type&
|
||||
write(const char_type* __s, streamsize __n);
|
||||
//@}
|
||||
|
||||
|
@ -322,10 +342,9 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
|||
* Otherwise, calls @c rdbuf()->pubsync(), and if that returns -1,
|
||||
* sets badbit.
|
||||
*/
|
||||
__ostream_type&
|
||||
__ostream_type&
|
||||
flush();
|
||||
|
||||
// [27.6.2.4] seek members
|
||||
/**
|
||||
* @brief Getting the current write position.
|
||||
* @return A file position object.
|
||||
|
@ -333,7 +352,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
|||
* If @c fail() is not false, returns @c pos_type(-1) to indicate
|
||||
* failure. Otherwise returns @c rdbuf()->pubseekoff(0,cur,out).
|
||||
*/
|
||||
pos_type
|
||||
pos_type
|
||||
tellp();
|
||||
|
||||
/**
|
||||
|
@ -344,7 +363,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
|||
* If @c fail() is not true, calls @c rdbuf()->pubseekpos(pos). If
|
||||
* that function fails, sets failbit.
|
||||
*/
|
||||
__ostream_type&
|
||||
__ostream_type&
|
||||
seekp(pos_type);
|
||||
|
||||
/**
|
||||
|
@ -356,16 +375,16 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
|||
* If @c fail() is not true, calls @c rdbuf()->pubseekoff(off,dir).
|
||||
* If that function fails, sets failbit.
|
||||
*/
|
||||
__ostream_type&
|
||||
__ostream_type&
|
||||
seekp(off_type, ios_base::seekdir);
|
||||
|
||||
|
||||
protected:
|
||||
basic_ostream()
|
||||
{ this->init(0); }
|
||||
|
||||
template<typename _ValueT>
|
||||
__ostream_type&
|
||||
_M_insert(_ValueT __v);
|
||||
__ostream_type&
|
||||
_M_insert(_ValueT __v);
|
||||
};
|
||||
|
||||
/**
|
||||
|
@ -381,7 +400,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
|||
// Data Members.
|
||||
bool _M_ok;
|
||||
basic_ostream<_CharT, _Traits>& _M_os;
|
||||
|
||||
|
||||
public:
|
||||
/**
|
||||
* @brief The constructor performs preparatory work.
|
||||
|
@ -429,7 +448,6 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
|||
{ return _M_ok; }
|
||||
};
|
||||
|
||||
// [27.6.2.5.4] character insertion templates
|
||||
//@{
|
||||
/**
|
||||
* @brief Character inserters
|
||||
|
@ -443,7 +461,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
|||
* padding (as determined by [22.2.2.2.2]). @c __out.width(0) is then
|
||||
* called.
|
||||
*
|
||||
* If @a __c is of type @c char and the character type of the stream is not
|
||||
* If @p __c is of type @c char and the character type of the stream is not
|
||||
* @c char, the character is widened before insertion.
|
||||
*/
|
||||
template<typename _CharT, typename _Traits>
|
||||
|
@ -457,7 +475,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
|||
{ return (__out << __out.widen(__c)); }
|
||||
|
||||
// Specialization
|
||||
template <class _Traits>
|
||||
template <class _Traits>
|
||||
inline basic_ostream<char, _Traits>&
|
||||
operator<<(basic_ostream<char, _Traits>& __out, char __c)
|
||||
{ return __ostream_insert(__out, &__c, 1); }
|
||||
|
@ -467,25 +485,25 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
|||
inline basic_ostream<char, _Traits>&
|
||||
operator<<(basic_ostream<char, _Traits>& __out, signed char __c)
|
||||
{ return (__out << static_cast<char>(__c)); }
|
||||
|
||||
|
||||
template<class _Traits>
|
||||
inline basic_ostream<char, _Traits>&
|
||||
operator<<(basic_ostream<char, _Traits>& __out, unsigned char __c)
|
||||
{ return (__out << static_cast<char>(__c)); }
|
||||
//@}
|
||||
|
||||
|
||||
//@{
|
||||
/**
|
||||
* @brief String inserters
|
||||
* @param __out An output stream.
|
||||
* @param __s A character string.
|
||||
* @return out
|
||||
* @pre @a s must be a non-NULL pointer
|
||||
* @pre @p __s must be a non-NULL pointer
|
||||
*
|
||||
* Behaves like one of the formatted arithmetic inserters described in
|
||||
* std::basic_ostream. After constructing a sentry object with good
|
||||
* status, this function inserts @c traits::length(__s) characters starting
|
||||
* at @a __s, widened if necessary, followed by any required padding (as
|
||||
* at @p __s, widened if necessary, followed by any required padding (as
|
||||
* determined by [22.2.2.2.2]). @c __out.width(0) is then called.
|
||||
*/
|
||||
template<typename _CharT, typename _Traits>
|
||||
|
@ -529,7 +547,8 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
|||
{ return (__out << reinterpret_cast<const char*>(__s)); }
|
||||
//@}
|
||||
|
||||
// [27.6.2.7] standard basic_ostream manipulators
|
||||
// Standard basic_ostream manipulators
|
||||
|
||||
/**
|
||||
* @brief Write a newline and flush the stream.
|
||||
*
|
||||
|
@ -539,33 +558,33 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
|||
* for more on this subject.
|
||||
*/
|
||||
template<typename _CharT, typename _Traits>
|
||||
inline basic_ostream<_CharT, _Traits>&
|
||||
inline basic_ostream<_CharT, _Traits>&
|
||||
endl(basic_ostream<_CharT, _Traits>& __os)
|
||||
{ return flush(__os.put(__os.widen('\n'))); }
|
||||
|
||||
/**
|
||||
* @brief Write a null character into the output sequence.
|
||||
*
|
||||
* <em>Null character</em> is @c CharT() by definition. For CharT of @c char,
|
||||
* this correctly writes the ASCII @c NUL character string terminator.
|
||||
* <em>Null character</em> is @c CharT() by definition. For CharT
|
||||
* of @c char, this correctly writes the ASCII @c NUL character
|
||||
* string terminator.
|
||||
*/
|
||||
template<typename _CharT, typename _Traits>
|
||||
inline basic_ostream<_CharT, _Traits>&
|
||||
inline basic_ostream<_CharT, _Traits>&
|
||||
ends(basic_ostream<_CharT, _Traits>& __os)
|
||||
{ return __os.put(_CharT()); }
|
||||
|
||||
|
||||
/**
|
||||
* @brief Flushes the output stream.
|
||||
*
|
||||
* This manipulator simply calls the stream's @c flush() member function.
|
||||
*/
|
||||
template<typename _CharT, typename _Traits>
|
||||
inline basic_ostream<_CharT, _Traits>&
|
||||
inline basic_ostream<_CharT, _Traits>&
|
||||
flush(basic_ostream<_CharT, _Traits>& __os)
|
||||
{ return __os.flush(); }
|
||||
|
||||
#ifdef __GXX_EXPERIMENTAL_CXX0X__
|
||||
// [27.7.2.9] Rvalue stream insertion
|
||||
/**
|
||||
* @brief Generic inserter for rvalue stream
|
||||
* @param __os An input stream.
|
||||
|
@ -583,7 +602,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
|||
#endif // __GXX_EXPERIMENTAL_CXX0X__
|
||||
|
||||
_GLIBCXX_END_NAMESPACE_VERSION
|
||||
} // namespace
|
||||
} // namespace std
|
||||
|
||||
#include <bits/ostream.tcc>
|
||||
|
||||
|
|
|
@ -738,10 +738,10 @@ public:
|
|||
|
||||
/**
|
||||
* @brief Use a subset of a string.
|
||||
* @param str A string of '0' and '1' characters.
|
||||
* @param pos Index of the first character in @a s to use.
|
||||
* @param n The number of characters to copy.
|
||||
* @throw std::out_of_range If @a pos is bigger the size of @a s.
|
||||
* @param __str A string of '0' and '1' characters.
|
||||
* @param __pos Index of the first character in @p __str to use.
|
||||
* @param __n The number of characters to copy.
|
||||
* @throw std::out_of_range If @p __pos is bigger the size of @p __str.
|
||||
* @throw std::invalid_argument If a character appears in the string
|
||||
* which is neither '0' nor '1'.
|
||||
*/
|
||||
|
@ -770,7 +770,7 @@ public:
|
|||
|
||||
/**
|
||||
* @brief Construct from a string.
|
||||
* @param str A string of '0' and '1' characters.
|
||||
* @param __str A string of '0' and '1' characters.
|
||||
* @throw std::invalid_argument If a character appears in the string
|
||||
* which is neither '0' nor '1'.
|
||||
*/
|
||||
|
@ -907,7 +907,7 @@ public:
|
|||
//@{
|
||||
/**
|
||||
* @brief Operations on dynamic_bitsets.
|
||||
* @param rhs A same-sized dynamic_bitset.
|
||||
* @param __rhs A same-sized dynamic_bitset.
|
||||
*
|
||||
* These should be self-explanatory.
|
||||
*/
|
||||
|
@ -950,7 +950,7 @@ public:
|
|||
//@{
|
||||
/**
|
||||
* @brief Operations on dynamic_bitsets.
|
||||
* @param position The number of places to shift.
|
||||
* @param __pos The number of places to shift.
|
||||
*
|
||||
* These should be self-explanatory.
|
||||
*/
|
||||
|
@ -995,9 +995,9 @@ public:
|
|||
|
||||
/**
|
||||
* @brief Sets a given bit to a particular value.
|
||||
* @param position The index of the bit.
|
||||
* @param val Either true or false, defaults to true.
|
||||
* @throw std::out_of_range If @a pos is bigger the size of the %set.
|
||||
* @param __pos The index of the bit.
|
||||
* @param __val Either true or false, defaults to true.
|
||||
* @throw std::out_of_range If @a __pos is bigger the size of the %set.
|
||||
*/
|
||||
dynamic_bitset<_WordT, _Alloc>&
|
||||
set(size_type __pos, bool __val = true)
|
||||
|
@ -1019,10 +1019,10 @@ public:
|
|||
|
||||
/**
|
||||
* @brief Sets a given bit to false.
|
||||
* @param position The index of the bit.
|
||||
* @throw std::out_of_range If @a pos is bigger the size of the %set.
|
||||
* @param __pos The index of the bit.
|
||||
* @throw std::out_of_range If @a __pos is bigger the size of the %set.
|
||||
*
|
||||
* Same as writing @c set(pos,false).
|
||||
* Same as writing @c set(__pos, false).
|
||||
*/
|
||||
dynamic_bitset<_WordT, _Alloc>&
|
||||
reset(size_type __pos)
|
||||
|
@ -1045,8 +1045,8 @@ public:
|
|||
|
||||
/**
|
||||
* @brief Toggles a given bit to its opposite value.
|
||||
* @param position The index of the bit.
|
||||
* @throw std::out_of_range If @a pos is bigger the size of the %set.
|
||||
* @param __pos The index of the bit.
|
||||
* @throw std::out_of_range If @a __pos is bigger the size of the %set.
|
||||
*/
|
||||
dynamic_bitset<_WordT, _Alloc>&
|
||||
flip(size_type __pos)
|
||||
|
@ -1064,7 +1064,7 @@ public:
|
|||
//@{
|
||||
/**
|
||||
* @brief Array-indexing support.
|
||||
* @param position Index into the %dynamic_bitset.
|
||||
* @param __pos Index into the %dynamic_bitset.
|
||||
* @return A bool for a 'const %dynamic_bitset'. For non-const
|
||||
* bitsets, an instance of the reference proxy class.
|
||||
* @note These operators do no range checking and throw no
|
||||
|
@ -1167,9 +1167,9 @@ public:
|
|||
|
||||
/**
|
||||
* @brief Tests the value of a bit.
|
||||
* @param position The index of a bit.
|
||||
* @return The value at @a pos.
|
||||
* @throw std::out_of_range If @a pos is bigger the size of the %set.
|
||||
* @param __pos The index of a bit.
|
||||
* @return The value at @a __pos.
|
||||
* @throw std::out_of_range If @a __pos is bigger the size of the %set.
|
||||
*/
|
||||
bool
|
||||
test(size_type __pos) const
|
||||
|
@ -1226,7 +1226,7 @@ public:
|
|||
/**
|
||||
* @brief Finds the index of the next "on" bit after prev.
|
||||
* @return The index of the next bit set, or size() if not found.
|
||||
* @param prev Where to start searching.
|
||||
* @param __prev Where to start searching.
|
||||
* @sa find_first
|
||||
*/
|
||||
size_type
|
||||
|
@ -1321,8 +1321,8 @@ public:
|
|||
//@{
|
||||
/**
|
||||
* @brief Global bitwise operations on bitsets.
|
||||
* @param x A bitset.
|
||||
* @param y A bitset of the same size as @a x.
|
||||
* @param __x A bitset.
|
||||
* @param __y A bitset of the same size as @a __x.
|
||||
* @return A new bitset.
|
||||
*
|
||||
* These should be self-explanatory.
|
||||
|
|
|
@ -325,14 +325,6 @@ for f in *__profile_*; do
|
|||
newname=`echo $f | sed 's/__profile_/__profile::/'`
|
||||
mv $f $newname
|
||||
done
|
||||
for f in *__atomic0_*; do
|
||||
newname=`echo $f | sed 's/__atomic0_/__atomic0::/'`
|
||||
mv $f $newname
|
||||
done
|
||||
for f in *__atomic2_*; do
|
||||
newname=`echo $f | sed 's/__atomic2_/__atomic2::/'`
|
||||
mv $f $newname
|
||||
done
|
||||
|
||||
# Then, clean up other top-level namespaces.
|
||||
for f in std_tr1_*; do
|
||||
|
@ -373,11 +365,6 @@ for f in __cxxabiv1_*; do
|
|||
done
|
||||
|
||||
# Then piecemeal nested classes
|
||||
for f in *__future_base_*; do
|
||||
newname=`echo $f | sed 's/__future_base_/__future_base::/'`
|
||||
mv $f $newname
|
||||
done
|
||||
|
||||
|
||||
|
||||
# Generic removal bits, where there are things in the generated man
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
// <http://www.gnu.org/licenses/>.
|
||||
|
||||
// { dg-do compile }
|
||||
// { dg-error "no matching" "" { target *-*-* } 1551 }
|
||||
// { dg-error "no matching" "" { target *-*-* } 1552 }
|
||||
|
||||
#include <list>
|
||||
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
// <http://www.gnu.org/licenses/>.
|
||||
|
||||
// { dg-do compile }
|
||||
// { dg-error "no matching" "" { target *-*-* } 1507 }
|
||||
// { dg-error "no matching" "" { target *-*-* } 1508 }
|
||||
|
||||
#include <list>
|
||||
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
// <http://www.gnu.org/licenses/>.
|
||||
|
||||
// { dg-do compile }
|
||||
// { dg-error "no matching" "" { target *-*-* } 1507 }
|
||||
// { dg-error "no matching" "" { target *-*-* } 1508 }
|
||||
|
||||
#include <list>
|
||||
#include <utility>
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
// <http://www.gnu.org/licenses/>.
|
||||
|
||||
// { dg-do compile }
|
||||
// { dg-error "no matching" "" { target *-*-* } 1507 }
|
||||
// { dg-error "no matching" "" { target *-*-* } 1508 }
|
||||
|
||||
#include <list>
|
||||
|
||||
|
|
Loading…
Reference in New Issue