Commit 7ffb61d5 by Paolo Carlini Committed by Paolo Carlini

hash_map: Remove forward declaration of equality operator...

2006-09-21  Paolo Carlini  <pcarlini@suse.de>

	* include/ext/hash_map: Remove forward declaration of equality
	operator, not needed for friendship of all its instances.
	* include/ext/hash_set: Likewise.
	* include/bits/stl_set.h: Likewise for equality operator and
	operator less.
	* include/bits/stl_multiset.h: Likewise.
	* include/bits/stl_multimap.h: Likewise.
	* include/bits/stl_queue.h: Likewise.
	* include/bits/stl_stack.h: Likewise.
	* include/bits/streambuf_iterator.h: Likewise for copy.
	* include/std/std_streambuf.h: Likewise for __copy_aux and find.
	* include/tr1/boost_shared_ptr.h: Likewise for get_deleter.
	* include/tr1/random: Likewise, remove all forward declarations
	of inserters and extractors.

From-SVN: r117116
parent 6750b31e
2006-09-21 Paolo Carlini <pcarlini@suse.de> 2006-09-21 Paolo Carlini <pcarlini@suse.de>
* include/ext/hash_map: Remove forward declaration of equality
operator, not needed for friendship of all its instances.
* include/ext/hash_set: Likewise.
* include/bits/stl_set.h: Likewise for equality operator and
operator less.
* include/bits/stl_multiset.h: Likewise.
* include/bits/stl_multimap.h: Likewise.
* include/bits/stl_queue.h: Likewise.
* include/bits/stl_stack.h: Likewise.
* include/bits/streambuf_iterator.h: Likewise for copy.
* include/std/std_streambuf.h: Likewise for __copy_aux and find.
* include/tr1/boost_shared_ptr.h: Likewise for get_deleter.
* include/tr1/random: Likewise, remove all forward declarations
of inserters and extractors.
2006-09-21 Paolo Carlini <pcarlini@suse.de>
* include/ext/sso_string_base.h (__sso_string_base<>::_M_max_size(), * include/ext/sso_string_base.h (__sso_string_base<>::_M_max_size(),
_M_destroy, _M_create): Use _M_get_allocator. _M_destroy, _M_create): Use _M_get_allocator.
......
...@@ -65,23 +65,6 @@ ...@@ -65,23 +65,6 @@
_GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD) _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD)
// Forward declaration of operators < and ==, needed for friend declaration.
template <typename _Key, typename _Tp,
typename _Compare = std::less<_Key>,
typename _Alloc = std::allocator<std::pair<const _Key, _Tp> > >
class multimap;
template <typename _Key, typename _Tp, typename _Compare, typename _Alloc>
inline bool
operator==(const multimap<_Key, _Tp, _Compare, _Alloc>& __x,
const multimap<_Key, _Tp, _Compare, _Alloc>& __y);
template <typename _Key, typename _Tp, typename _Compare, typename _Alloc>
inline bool
operator<(const multimap<_Key, _Tp, _Compare, _Alloc>& __x,
const multimap<_Key, _Tp, _Compare, _Alloc>& __y);
/** /**
* @brief A standard container made up of (key,value) pairs, which can be * @brief A standard container made up of (key,value) pairs, which can be
* retrieved based on a key, in logarithmic time. * retrieved based on a key, in logarithmic time.
...@@ -103,7 +86,9 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD) ...@@ -103,7 +86,9 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD)
* called (*_unique versus *_equal, same as the standard). * called (*_unique versus *_equal, same as the standard).
* @endif * @endif
*/ */
template <typename _Key, typename _Tp, typename _Compare, typename _Alloc> template <typename _Key, typename _Tp,
typename _Compare = std::less<_Key>,
typename _Alloc = std::allocator<std::pair<const _Key, _Tp> > >
class multimap class multimap
{ {
public: public:
......
...@@ -65,21 +65,6 @@ ...@@ -65,21 +65,6 @@
_GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD) _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD)
// Forward declaration of operators < and ==, needed for friend declaration.
template <class _Key, class _Compare = std::less<_Key>,
class _Alloc = std::allocator<_Key> >
class multiset;
template <class _Key, class _Compare, class _Alloc>
inline bool
operator==(const multiset<_Key, _Compare, _Alloc>& __x,
const multiset<_Key, _Compare, _Alloc>& __y);
template <class _Key, class _Compare, class _Alloc>
inline bool
operator<(const multiset<_Key, _Compare, _Alloc>& __x,
const multiset<_Key, _Compare, _Alloc>& __y);
/** /**
* @brief A standard container made up of elements, which can be retrieved * @brief A standard container made up of elements, which can be retrieved
* in logarithmic time. * in logarithmic time.
...@@ -100,7 +85,8 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD) ...@@ -100,7 +85,8 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD)
* called (*_unique versus *_equal, same as the standard). * called (*_unique versus *_equal, same as the standard).
* @endif * @endif
*/ */
template <class _Key, class _Compare, class _Alloc> template <class _Key, class _Compare = std::less<_Key>,
class _Alloc = std::allocator<_Key> >
class multiset class multiset
{ {
// concept requirements // concept requirements
......
...@@ -67,18 +67,6 @@ ...@@ -67,18 +67,6 @@
_GLIBCXX_BEGIN_NAMESPACE(std) _GLIBCXX_BEGIN_NAMESPACE(std)
// Forward declarations of operators < and ==, needed for friend declaration.
template<typename _Tp, typename _Sequence = deque<_Tp> >
class queue;
template<typename _Tp, typename _Seq>
inline bool
operator==(const queue<_Tp, _Seq>&, const queue<_Tp, _Seq>&);
template<typename _Tp, typename _Seq>
inline bool
operator<(const queue<_Tp, _Seq>&, const queue<_Tp, _Seq>&);
/** /**
* @brief A standard container giving FIFO behavior. * @brief A standard container giving FIFO behavior.
* *
...@@ -103,7 +91,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) ...@@ -103,7 +91,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
* which is a typedef for the second Sequence parameter, and @c push and * which is a typedef for the second Sequence parameter, and @c push and
* @c pop, which are standard %queue/FIFO operations. * @c pop, which are standard %queue/FIFO operations.
*/ */
template<typename _Tp, typename _Sequence> template<typename _Tp, typename _Sequence = deque<_Tp> >
class queue class queue
{ {
// concept requirements // concept requirements
......
...@@ -65,21 +65,6 @@ ...@@ -65,21 +65,6 @@
_GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD) _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD)
// Forward declarations of operators < and ==, needed for friend declaration.
template<class _Key, class _Compare = std::less<_Key>,
class _Alloc = std::allocator<_Key> >
class set;
template<class _Key, class _Compare, class _Alloc>
inline bool
operator==(const set<_Key, _Compare, _Alloc>& __x,
const set<_Key, _Compare, _Alloc>& __y);
template<class _Key, class _Compare, class _Alloc>
inline bool
operator<(const set<_Key, _Compare, _Alloc>& __x,
const set<_Key, _Compare, _Alloc>& __y);
/** /**
* @brief A standard container made up of unique keys, which can be * @brief A standard container made up of unique keys, which can be
* retrieved in logarithmic time. * retrieved in logarithmic time.
...@@ -103,7 +88,8 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD) ...@@ -103,7 +88,8 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(std, _GLIBCXX_STD)
* called (*_unique versus *_equal, same as the standard). * called (*_unique versus *_equal, same as the standard).
* @endif * @endif
*/ */
template<class _Key, class _Compare, class _Alloc> template<class _Key, class _Compare = std::less<_Key>,
class _Alloc = std::allocator<_Key> >
class set class set
{ {
// concept requirements // concept requirements
......
...@@ -67,19 +67,6 @@ ...@@ -67,19 +67,6 @@
_GLIBCXX_BEGIN_NAMESPACE(std) _GLIBCXX_BEGIN_NAMESPACE(std)
// Forward declarations of operators == and <, needed for friend
// declaration.
template<typename _Tp, typename _Sequence = deque<_Tp> >
class stack;
template<typename _Tp, typename _Seq>
inline bool
operator==(const stack<_Tp, _Seq>& __x, const stack<_Tp, _Seq>& __y);
template<typename _Tp, typename _Seq>
inline bool
operator<(const stack<_Tp, _Seq>& __x, const stack<_Tp, _Seq>& __y);
/** /**
* @brief A standard container giving FILO behavior. * @brief A standard container giving FILO behavior.
* *
...@@ -107,7 +94,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) ...@@ -107,7 +94,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
* push, @c pop, and @c top, which are standard %stack/FILO * push, @c pop, and @c top, which are standard %stack/FILO
* operations. * operations.
*/ */
template<typename _Tp, typename _Sequence> template<typename _Tp, typename _Sequence = deque<_Tp> >
class stack class stack
{ {
// concept requirements // concept requirements
......
...@@ -43,12 +43,6 @@ ...@@ -43,12 +43,6 @@
_GLIBCXX_BEGIN_NAMESPACE(std) _GLIBCXX_BEGIN_NAMESPACE(std)
template<typename _CharT>
typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value,
ostreambuf_iterator<_CharT> >::__type
copy(istreambuf_iterator<_CharT>, istreambuf_iterator<_CharT>,
ostreambuf_iterator<_CharT>);
// 24.5.3 Template class istreambuf_iterator // 24.5.3 Template class istreambuf_iterator
/// Provides input iterator semantics for streambufs. /// Provides input iterator semantics for streambufs.
template<typename _CharT, typename _Traits> template<typename _CharT, typename _Traits>
......
...@@ -72,23 +72,13 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(__gnu_cxx, _GLIBCXX_EXT) ...@@ -72,23 +72,13 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(__gnu_cxx, _GLIBCXX_EXT)
using std::pair; using std::pair;
using std::_Select1st; using std::_Select1st;
// Forward declaration of equality operator; needed for friend
// declaration.
template<class _Key, class _Tp, class _HashFn = hash<_Key>,
class _EqualKey = equal_to<_Key>, class _Alloc = allocator<_Tp> >
class hash_map;
template<class _Key, class _Tp, class _HashFn, class _EqKey, class _Alloc>
inline bool
operator==(const hash_map<_Key, _Tp, _HashFn, _EqKey, _Alloc>&,
const hash_map<_Key, _Tp, _HashFn, _EqKey, _Alloc>&);
/** /**
* This is an SGI extension. * This is an SGI extension.
* @ingroup SGIextensions * @ingroup SGIextensions
* @doctodo * @doctodo
*/ */
template<class _Key, class _Tp, class _HashFn, class _EqualKey, class _Alloc> template<class _Key, class _Tp, class _HashFn = hash<_Key>,
class _EqualKey = equal_to<_Key>, class _Alloc = allocator<_Tp> >
class hash_map class hash_map
{ {
private: private:
...@@ -295,25 +285,16 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(__gnu_cxx, _GLIBCXX_EXT) ...@@ -295,25 +285,16 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(__gnu_cxx, _GLIBCXX_EXT)
hash_map<_Key, _Tp, _HashFn, _EqlKey, _Alloc>& __hm2) hash_map<_Key, _Tp, _HashFn, _EqlKey, _Alloc>& __hm2)
{ __hm1.swap(__hm2); } { __hm1.swap(__hm2); }
// Forward declaration of equality operator; needed for friend declaration.
template<class _Key, class _Tp,
class _HashFn = hash<_Key>,
class _EqualKey = equal_to<_Key>,
class _Alloc = allocator<_Tp> >
class hash_multimap;
template<class _Key, class _Tp, class _HF, class _EqKey, class _Alloc>
inline bool
operator==(const hash_multimap<_Key, _Tp, _HF, _EqKey, _Alloc>& __hm1,
const hash_multimap<_Key, _Tp, _HF, _EqKey, _Alloc>& __hm2);
/** /**
* This is an SGI extension. * This is an SGI extension.
* @ingroup SGIextensions * @ingroup SGIextensions
* @doctodo * @doctodo
*/ */
template<class _Key, class _Tp, class _HashFn, class _EqualKey, template<class _Key, class _Tp,
class _Alloc> class _HashFn = hash<_Key>,
class _EqualKey = equal_to<_Key>,
class _Alloc = allocator<_Tp> >
class hash_multimap class hash_multimap
{ {
// concept requirements // concept requirements
......
...@@ -72,24 +72,14 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(__gnu_cxx, _GLIBCXX_EXT) ...@@ -72,24 +72,14 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(__gnu_cxx, _GLIBCXX_EXT)
using std::pair; using std::pair;
using std::_Identity; using std::_Identity;
// Forward declaration of equality operator; needed for friend
// declaration.
template<class _Value, class _HashFcn = hash<_Value>,
class _EqualKey = equal_to<_Value>,
class _Alloc = allocator<_Value> >
class hash_set;
template<class _Value, class _HashFcn, class _EqualKey, class _Alloc>
inline bool
operator==(const hash_set<_Value, _HashFcn, _EqualKey, _Alloc>& __hs1,
const hash_set<_Value, _HashFcn, _EqualKey, _Alloc>& __hs2);
/** /**
* This is an SGI extension. * This is an SGI extension.
* @ingroup SGIextensions * @ingroup SGIextensions
* @doctodo * @doctodo
*/ */
template<class _Value, class _HashFcn, class _EqualKey, class _Alloc> template<class _Value, class _HashFcn = hash<_Value>,
class _EqualKey = equal_to<_Value>,
class _Alloc = allocator<_Value> >
class hash_set class hash_set
{ {
// concept requirements // concept requirements
...@@ -285,24 +275,16 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(__gnu_cxx, _GLIBCXX_EXT) ...@@ -285,24 +275,16 @@ _GLIBCXX_BEGIN_NESTED_NAMESPACE(__gnu_cxx, _GLIBCXX_EXT)
hash_set<_Val, _HashFcn, _EqualKey, _Alloc>& __hs2) hash_set<_Val, _HashFcn, _EqualKey, _Alloc>& __hs2)
{ __hs1.swap(__hs2); } { __hs1.swap(__hs2); }
template<class _Value,
class _HashFcn = hash<_Value>,
class _EqualKey = equal_to<_Value>,
class _Alloc = allocator<_Value> >
class hash_multiset;
template<class _Val, class _HashFcn, class _EqualKey, class _Alloc>
inline bool
operator==(const hash_multiset<_Val, _HashFcn, _EqualKey, _Alloc>& __hs1,
const hash_multiset<_Val, _HashFcn, _EqualKey, _Alloc>& __hs2);
/** /**
* This is an SGI extension. * This is an SGI extension.
* @ingroup SGIextensions * @ingroup SGIextensions
* @doctodo * @doctodo
*/ */
template<class _Value, class _HashFcn, class _EqualKey, class _Alloc> template<class _Value,
class _HashFcn = hash<_Value>,
class _EqualKey = equal_to<_Value>,
class _Alloc = allocator<_Value> >
class hash_multiset class hash_multiset
{ {
// concept requirements // concept requirements
......
...@@ -60,18 +60,6 @@ _GLIBCXX_BEGIN_NAMESPACE(std) ...@@ -60,18 +60,6 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
__copy_streambufs_eof(basic_streambuf<_CharT, _Traits>*, __copy_streambufs_eof(basic_streambuf<_CharT, _Traits>*,
basic_streambuf<_CharT, _Traits>*, bool&); basic_streambuf<_CharT, _Traits>*, bool&);
template<typename _CharT>
typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value,
_CharT*>::__type
__copy_aux(istreambuf_iterator<_CharT>,
istreambuf_iterator<_CharT>, _CharT*);
template<typename _CharT>
typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value,
istreambuf_iterator<_CharT> >::__type
find(istreambuf_iterator<_CharT>, istreambuf_iterator<_CharT>,
const _CharT&);
/** /**
* @brief The actual work of input and output (interface). * @brief The actual work of input and output (interface).
* *
......
...@@ -483,11 +483,6 @@ template<_Lock_policy _Lp> ...@@ -483,11 +483,6 @@ template<_Lock_policy _Lp>
{ } { }
// Function get_deleter must be declared before friend declaration by
// shared_ptr.
template<typename _Del, typename _Tp, _Lock_policy _Lp>
_Del* get_deleter(const __shared_ptr<_Tp, _Lp>&);
/** /**
* @class shared_ptr <tr1/memory> * @class shared_ptr <tr1/memory>
* *
......
...@@ -296,21 +296,6 @@ _GLIBCXX_BEGIN_NAMESPACE(tr1) ...@@ -296,21 +296,6 @@ _GLIBCXX_BEGIN_NAMESPACE(tr1)
* The size of the state is @f$ 1 @f$. * The size of the state is @f$ 1 @f$.
*/ */
template<class _UIntType, _UIntType __a, _UIntType __c, _UIntType __m> template<class _UIntType, _UIntType __a, _UIntType __c, _UIntType __m>
class linear_congruential;
template<class _UIntType, _UIntType __a, _UIntType __c, _UIntType __m,
typename _CharT, typename _Traits>
std::basic_ostream<_CharT, _Traits>&
operator<<(std::basic_ostream<_CharT, _Traits>& __os,
const linear_congruential<_UIntType, __a, __c, __m>& __lcr);
template<class _UIntType, _UIntType __a, _UIntType __c, _UIntType __m,
typename _CharT, typename _Traits>
std::basic_istream<_CharT, _Traits>&
operator>>(std::basic_istream<_CharT, _Traits>& __is,
linear_congruential<_UIntType, __a, __c, __m>& __lcr);
template<class _UIntType, _UIntType __a, _UIntType __c, _UIntType __m>
class linear_congruential class linear_congruential
{ {
__glibcxx_class_requires(_UIntType, _UnsignedIntegerConcept) __glibcxx_class_requires(_UIntType, _UnsignedIntegerConcept)
...@@ -506,29 +491,6 @@ _GLIBCXX_BEGIN_NAMESPACE(tr1) ...@@ -506,29 +491,6 @@ _GLIBCXX_BEGIN_NAMESPACE(tr1)
template<class _UIntType, int __w, int __n, int __m, int __r, template<class _UIntType, int __w, int __n, int __m, int __r,
_UIntType __a, int __u, int __s, _UIntType __b, int __t, _UIntType __a, int __u, int __s, _UIntType __b, int __t,
_UIntType __c, int __l> _UIntType __c, int __l>
class mersenne_twister;
template<class _UIntType, int __w, int __n, int __m, int __r,
_UIntType __a, int __u, int __s, _UIntType __b, int __t,
_UIntType __c, int __l,
typename _CharT, typename _Traits>
std::basic_ostream<_CharT, _Traits>&
operator<<(std::basic_ostream<_CharT, _Traits>& __os,
const mersenne_twister<_UIntType, __w, __n, __m,
__r, __a, __u, __s, __b, __t, __c, __l>& __x);
template<class _UIntType, int __w, int __n, int __m, int __r,
_UIntType __a, int __u, int __s, _UIntType __b, int __t,
_UIntType __c, int __l,
typename _CharT, typename _Traits>
std::basic_istream<_CharT, _Traits>&
operator>>(std::basic_istream<_CharT, _Traits>& __is,
mersenne_twister<_UIntType, __w, __n, __m,
__r, __a, __u, __s, __b, __t, __c, __l>& __x);
template<class _UIntType, int __w, int __n, int __m, int __r,
_UIntType __a, int __u, int __s, _UIntType __b, int __t,
_UIntType __c, int __l>
class mersenne_twister class mersenne_twister
{ {
__glibcxx_class_requires(_UIntType, _UnsignedIntegerConcept) __glibcxx_class_requires(_UIntType, _UnsignedIntegerConcept)
...@@ -707,21 +669,6 @@ _GLIBCXX_BEGIN_NAMESPACE(tr1) ...@@ -707,21 +669,6 @@ _GLIBCXX_BEGIN_NAMESPACE(tr1)
* @endif * @endif
*/ */
template<typename _IntType, _IntType __m, int __s, int __r> template<typename _IntType, _IntType __m, int __s, int __r>
class subtract_with_carry;
template<typename _IntType, _IntType __m, int __s, int __r,
typename _CharT, typename _Traits>
std::basic_ostream<_CharT, _Traits>&
operator<<(std::basic_ostream<_CharT, _Traits>& __os,
const subtract_with_carry<_IntType, __m, __s, __r>& __x);
template<typename _IntType, _IntType __m, int __s, int __r,
typename _CharT, typename _Traits>
std::basic_istream<_CharT, _Traits>&
operator>>(std::basic_istream<_CharT, _Traits>& __is,
subtract_with_carry<_IntType, __m, __s, __r>& __x);
template<typename _IntType, _IntType __m, int __s, int __r>
class subtract_with_carry class subtract_with_carry
{ {
__glibcxx_class_requires(_IntType, _IntegerConcept) __glibcxx_class_requires(_IntType, _IntegerConcept)
...@@ -899,21 +846,6 @@ _GLIBCXX_BEGIN_NAMESPACE(tr1) ...@@ -899,21 +846,6 @@ _GLIBCXX_BEGIN_NAMESPACE(tr1)
* @endif * @endif
*/ */
template<typename _RealType, int __w, int __s, int __r> template<typename _RealType, int __w, int __s, int __r>
class subtract_with_carry_01;
template<typename _RealType, int __w, int __s, int __r,
typename _CharT, typename _Traits>
std::basic_ostream<_CharT, _Traits>&
operator<<(std::basic_ostream<_CharT, _Traits>& __os,
const subtract_with_carry_01<_RealType, __w, __s, __r>& __x);
template<typename _RealType, int __w, int __s, int __r,
typename _CharT, typename _Traits>
std::basic_istream<_CharT, _Traits>&
operator>>(std::basic_istream<_CharT, _Traits>& __is,
subtract_with_carry_01<_RealType, __w, __s, __r>& __x);
template<typename _RealType, int __w, int __s, int __r>
class subtract_with_carry_01 class subtract_with_carry_01
{ {
public: public:
...@@ -1105,22 +1037,6 @@ _GLIBCXX_BEGIN_NAMESPACE(tr1) ...@@ -1105,22 +1037,6 @@ _GLIBCXX_BEGIN_NAMESPACE(tr1)
* 0 <= @p __r <= @p __p * 0 <= @p __r <= @p __p
*/ */
template<class _UniformRandomNumberGenerator, int __p, int __r> template<class _UniformRandomNumberGenerator, int __p, int __r>
class discard_block;
template<class _UniformRandomNumberGenerator, int __p, int __r,
typename _CharT, typename _Traits>
std::basic_ostream<_CharT, _Traits>&
operator<<(std::basic_ostream<_CharT, _Traits>& __os,
const discard_block<_UniformRandomNumberGenerator,
__p, __r>& __x);
template<class _UniformRandomNumberGenerator, int __p, int __r,
typename _CharT, typename _Traits>
std::basic_istream<_CharT, _Traits>&
operator>>(std::basic_istream<_CharT, _Traits>& __is,
discard_block<_UniformRandomNumberGenerator, __p, __r>& __x);
template<class _UniformRandomNumberGenerator, int __p, int __r>
class discard_block class discard_block
{ {
// __glibcxx_class_requires(typename base_type::result_type, // __glibcxx_class_requires(typename base_type::result_type,
...@@ -1327,26 +1243,6 @@ _GLIBCXX_BEGIN_NAMESPACE(tr1) ...@@ -1327,26 +1243,6 @@ _GLIBCXX_BEGIN_NAMESPACE(tr1)
*/ */
template<class _UniformRandomNumberGenerator1, int __s1, template<class _UniformRandomNumberGenerator1, int __s1,
class _UniformRandomNumberGenerator2, int __s2> class _UniformRandomNumberGenerator2, int __s2>
class xor_combine;
template<class _UniformRandomNumberGenerator1, int __s1,
class _UniformRandomNumberGenerator2, int __s2,
typename _CharT, typename _Traits>
std::basic_ostream<_CharT, _Traits>&
operator<<(std::basic_ostream<_CharT, _Traits>& __os,
const xor_combine<_UniformRandomNumberGenerator1, __s1,
_UniformRandomNumberGenerator2, __s2>& __x);
template<class _UniformRandomNumberGenerator1, int __s1,
class _UniformRandomNumberGenerator2, int __s2,
typename _CharT, typename _Traits>
std::basic_istream<_CharT, _Traits>&
operator>>(std::basic_istream<_CharT, _Traits>& __is,
xor_combine<_UniformRandomNumberGenerator1, __s1,
_UniformRandomNumberGenerator2, __s2>& __x);
template<class _UniformRandomNumberGenerator1, int __s1,
class _UniformRandomNumberGenerator2, int __s2>
class xor_combine class xor_combine
{ {
// __glibcxx_class_requires(typename _UniformRandomNumberGenerator1:: // __glibcxx_class_requires(typename _UniformRandomNumberGenerator1::
...@@ -1616,19 +1512,6 @@ _GLIBCXX_BEGIN_NAMESPACE(tr1) ...@@ -1616,19 +1512,6 @@ _GLIBCXX_BEGIN_NAMESPACE(tr1)
* probability throughout the range. * probability throughout the range.
*/ */
template<typename _IntType = int> template<typename _IntType = int>
class uniform_int;
template<typename _IntType, typename _CharT, typename _Traits>
std::basic_ostream<_CharT, _Traits>&
operator<<(std::basic_ostream<_CharT, _Traits>& __os,
const uniform_int<_IntType>& __x);
template<typename _IntType, typename _CharT, typename _Traits>
std::basic_istream<_CharT, _Traits>&
operator>>(std::basic_istream<_CharT, _Traits>& __is,
uniform_int<_IntType>& __x);
template<typename _IntType>
class uniform_int class uniform_int
{ {
__glibcxx_class_requires(_IntType, _IntegerConcept) __glibcxx_class_requires(_IntType, _IntegerConcept)
...@@ -1758,13 +1641,6 @@ _GLIBCXX_BEGIN_NAMESPACE(tr1) ...@@ -1758,13 +1641,6 @@ _GLIBCXX_BEGIN_NAMESPACE(tr1)
* Generates a sequence of true and false values with likelihood @f$ p @f$ * Generates a sequence of true and false values with likelihood @f$ p @f$
* that true will come up and @f$ (1 - p) @f$ that false will appear. * that true will come up and @f$ (1 - p) @f$ that false will appear.
*/ */
class bernoulli_distribution;
template<typename _CharT, typename _Traits>
std::basic_ostream<_CharT, _Traits>&
operator<<(std::basic_ostream<_CharT, _Traits>& __os,
const bernoulli_distribution& __x);
class bernoulli_distribution class bernoulli_distribution
{ {
public: public:
...@@ -1855,15 +1731,6 @@ _GLIBCXX_BEGIN_NAMESPACE(tr1) ...@@ -1855,15 +1731,6 @@ _GLIBCXX_BEGIN_NAMESPACE(tr1)
* distribution. * distribution.
*/ */
template<typename _IntType = int, typename _RealType = double> template<typename _IntType = int, typename _RealType = double>
class geometric_distribution;
template<typename _IntType, typename _RealType,
typename _CharT, typename _Traits>
std::basic_ostream<_CharT, _Traits>&
operator<<(std::basic_ostream<_CharT, _Traits>& __os,
const geometric_distribution<_IntType, _RealType>& __x);
template<typename _IntType, typename _RealType>
class geometric_distribution class geometric_distribution
{ {
public: public:
...@@ -1951,21 +1818,6 @@ _GLIBCXX_BEGIN_NAMESPACE(tr1) ...@@ -1951,21 +1818,6 @@ _GLIBCXX_BEGIN_NAMESPACE(tr1)
* parameter of the distribution. * parameter of the distribution.
*/ */
template<typename _IntType = int, typename _RealType = double> template<typename _IntType = int, typename _RealType = double>
class poisson_distribution;
template<typename _IntType, typename _RealType,
typename _CharT, typename _Traits>
std::basic_ostream<_CharT, _Traits>&
operator<<(std::basic_ostream<_CharT, _Traits>& __os,
const poisson_distribution<_IntType, _RealType>& __x);
template<typename _IntType, typename _RealType,
typename _CharT, typename _Traits>
std::basic_istream<_CharT, _Traits>&
operator>>(std::basic_istream<_CharT, _Traits>& __is,
poisson_distribution<_IntType, _RealType>& __x);
template<typename _IntType, typename _RealType>
class poisson_distribution class poisson_distribution
{ {
public: public:
...@@ -2053,21 +1905,6 @@ _GLIBCXX_BEGIN_NAMESPACE(tr1) ...@@ -2053,21 +1905,6 @@ _GLIBCXX_BEGIN_NAMESPACE(tr1)
* and @f$ p @f$ are the parameters of the distribution. * and @f$ p @f$ are the parameters of the distribution.
*/ */
template<typename _IntType = int, typename _RealType = double> template<typename _IntType = int, typename _RealType = double>
class binomial_distribution;
template<typename _IntType, typename _RealType,
typename _CharT, typename _Traits>
std::basic_ostream<_CharT, _Traits>&
operator<<(std::basic_ostream<_CharT, _Traits>& __os,
const binomial_distribution<_IntType, _RealType>& __x);
template<typename _IntType, typename _RealType,
typename _CharT, typename _Traits>
std::basic_istream<_CharT, _Traits>&
operator>>(std::basic_istream<_CharT, _Traits>& __is,
binomial_distribution<_IntType, _RealType>& __x);
template<typename _IntType, typename _RealType>
class binomial_distribution class binomial_distribution
{ {
public: public:
...@@ -2176,19 +2013,6 @@ _GLIBCXX_BEGIN_NAMESPACE(tr1) ...@@ -2176,19 +2013,6 @@ _GLIBCXX_BEGIN_NAMESPACE(tr1)
* deliver number in the range [0, 1). * deliver number in the range [0, 1).
*/ */
template<typename _RealType = double> template<typename _RealType = double>
class uniform_real;
template<typename _RealType, typename _CharT, typename _Traits>
std::basic_ostream<_CharT, _Traits>&
operator<<(std::basic_ostream<_CharT, _Traits>& __os,
const uniform_real<_RealType>& __x);
template<typename _RealType, typename _CharT, typename _Traits>
std::basic_istream<_CharT, _Traits>&
operator>>(std::basic_istream<_CharT, _Traits>& __is,
uniform_real<_RealType>& __x);
template<typename _RealType>
class uniform_real class uniform_real
{ {
public: public:
...@@ -2278,14 +2102,6 @@ _GLIBCXX_BEGIN_NAMESPACE(tr1) ...@@ -2278,14 +2102,6 @@ _GLIBCXX_BEGIN_NAMESPACE(tr1)
* </table> * </table>
*/ */
template<typename _RealType = double> template<typename _RealType = double>
class exponential_distribution;
template<typename _RealType, typename _CharT, typename _Traits>
std::basic_ostream<_CharT, _Traits>&
operator<<(std::basic_ostream<_CharT, _Traits>& __os,
const exponential_distribution<_RealType>& __x);
template<typename _RealType>
class exponential_distribution class exponential_distribution
{ {
public: public:
...@@ -2369,19 +2185,6 @@ _GLIBCXX_BEGIN_NAMESPACE(tr1) ...@@ -2369,19 +2185,6 @@ _GLIBCXX_BEGIN_NAMESPACE(tr1)
* e^{- \frac{{x - mean}^ {2}}{2 \sigma ^ {2}} } @f$. * e^{- \frac{{x - mean}^ {2}}{2 \sigma ^ {2}} } @f$.
*/ */
template<typename _RealType = double> template<typename _RealType = double>
class normal_distribution;
template<typename _RealType, typename _CharT, typename _Traits>
std::basic_ostream<_CharT, _Traits>&
operator<<(std::basic_ostream<_CharT, _Traits>& __os,
const normal_distribution<_RealType>& __x);
template<typename _RealType, typename _CharT, typename _Traits>
std::basic_istream<_CharT, _Traits>&
operator>>(std::basic_istream<_CharT, _Traits>& __is,
normal_distribution<_RealType>& __x);
template<typename _RealType>
class normal_distribution class normal_distribution
{ {
public: public:
...@@ -2471,14 +2274,6 @@ _GLIBCXX_BEGIN_NAMESPACE(tr1) ...@@ -2471,14 +2274,6 @@ _GLIBCXX_BEGIN_NAMESPACE(tr1)
* @f$ p(x) = \frac{1}{\Gamma(\alpha)} x^{\alpha - 1} e^{-x} } @f$. * @f$ p(x) = \frac{1}{\Gamma(\alpha)} x^{\alpha - 1} e^{-x} } @f$.
*/ */
template<typename _RealType = double> template<typename _RealType = double>
class gamma_distribution;
template<typename _RealType, typename _CharT, typename _Traits>
std::basic_ostream<_CharT, _Traits>&
operator<<(std::basic_ostream<_CharT, _Traits>& __os,
const gamma_distribution<_RealType>& __x);
template<typename _RealType>
class gamma_distribution class gamma_distribution
{ {
public: public:
......
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