From e538847e1c56a0d6a8bbdea61d70a81bf958e78d Mon Sep 17 00:00:00 2001 From: Paolo Carlini Date: Mon, 31 Dec 2001 11:22:00 +0100 Subject: [PATCH] hash_map: Move into __gnu_cxx, tweak, add using declarations. 2001-12-31 Paolo Carlini * include/ext/hash_map: Move into __gnu_cxx, tweak, add using declarations. * include/ext/hash_set: Ditto. * include/ext/ropeimpl.h: Ditto. * include/ext/stl_hash_fun.h: Ditto. * include/ext/stl_hashtable.h: Ditto. * include/ext/stl_rope.h: Ditto. * src/ext-inst.cc: Tweak. * testsuite/ext/rope.cc: Tweak. From-SVN: r48422 --- libstdc++-v3/ChangeLog | 12 +++++++++ libstdc++-v3/include/ext/hash_map | 17 +++++++++---- libstdc++-v3/include/ext/hash_set | 18 +++++++++---- libstdc++-v3/include/ext/ropeimpl.h | 23 +++++++++++------ libstdc++-v3/include/ext/stl_hash_fun.h | 5 ++-- libstdc++-v3/include/ext/stl_hashtable.h | 18 ++++++++++--- libstdc++-v3/include/ext/stl_rope.h | 32 ++++++++++++++++-------- libstdc++-v3/src/ext-inst.cc | 3 ++- libstdc++-v3/testsuite/ext/rope.cc | 2 +- 9 files changed, 94 insertions(+), 36 deletions(-) diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 27f5d11e9449..1548e7e2f6bf 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,15 @@ +2001-12-31 Paolo Carlini + + * include/ext/hash_map: Move into __gnu_cxx, + tweak, add using declarations. + * include/ext/hash_set: Ditto. + * include/ext/ropeimpl.h: Ditto. + * include/ext/stl_hash_fun.h: Ditto. + * include/ext/stl_hashtable.h: Ditto. + * include/ext/stl_rope.h: Ditto. + * src/ext-inst.cc: Tweak. + * testsuite/ext/rope.cc: Tweak. + 2001-12-31 Paolo Carlini * include/backward/algo.h: Include , diff --git a/libstdc++-v3/include/ext/hash_map b/libstdc++-v3/include/ext/hash_map index 228daba80c46..813fad771ea9 100644 --- a/libstdc++-v3/include/ext/hash_map +++ b/libstdc++-v3/include/ext/hash_map @@ -64,8 +64,12 @@ #include #include -namespace std +namespace __gnu_cxx { +using std::equal_to; +using std::allocator; +using std::pair; +using std::_Select1st; // Forward declaration of equality operator; needed for friend declaration. @@ -371,14 +375,17 @@ swap(hash_multimap<_Key,_Tp,_HashFcn,_EqlKey,_Alloc>& __hm1, __hm1.swap(__hm2); } +} // namespace __gnu_cxx +namespace std +{ // Specialization of insert_iterator so that it will work for hash_map // and hash_multimap. template -class insert_iterator > { +class insert_iterator<__gnu_cxx::hash_map<_Key, _Tp, _HashFn, _EqKey, _Alloc> > { protected: - typedef hash_map<_Key, _Tp, _HashFn, _EqKey, _Alloc> _Container; + typedef __gnu_cxx::hash_map<_Key, _Tp, _HashFn, _EqKey, _Alloc> _Container; _Container* container; public: typedef _Container container_type; @@ -402,9 +409,9 @@ public: }; template -class insert_iterator > { +class insert_iterator<__gnu_cxx::hash_multimap<_Key, _Tp, _HashFn, _EqKey, _Alloc> > { protected: - typedef hash_multimap<_Key, _Tp, _HashFn, _EqKey, _Alloc> _Container; + typedef __gnu_cxx::hash_multimap<_Key, _Tp, _HashFn, _EqKey, _Alloc> _Container; _Container* container; typename _Container::iterator iter; public: diff --git a/libstdc++-v3/include/ext/hash_set b/libstdc++-v3/include/ext/hash_set index f5ff2f198d97..b2a43789cdd8 100644 --- a/libstdc++-v3/include/ext/hash_set +++ b/libstdc++-v3/include/ext/hash_set @@ -64,8 +64,12 @@ #include #include -namespace std +namespace __gnu_cxx { +using std::equal_to; +using std::allocator; +using std::pair; +using std::_Identity; // Forward declaration of equality operator; needed for friend declaration. @@ -361,13 +365,17 @@ swap(hash_multiset<_Val,_HashFcn,_EqualKey,_Alloc>& __hs1, __hs1.swap(__hs2); } +} // namespace __gnu_cxx + +namespace std +{ // Specialization of insert_iterator so that it will work for hash_set // and hash_multiset. template -class insert_iterator > { +class insert_iterator<__gnu_cxx::hash_set<_Value, _HashFcn, _EqualKey, _Alloc> > { protected: - typedef hash_set<_Value, _HashFcn, _EqualKey, _Alloc> _Container; + typedef __gnu_cxx::hash_set<_Value, _HashFcn, _EqualKey, _Alloc> _Container; _Container* container; public: typedef _Container container_type; @@ -391,9 +399,9 @@ public: }; template -class insert_iterator > { +class insert_iterator<__gnu_cxx::hash_multiset<_Value, _HashFcn, _EqualKey, _Alloc> > { protected: - typedef hash_multiset<_Value, _HashFcn, _EqualKey, _Alloc> _Container; + typedef __gnu_cxx::hash_multiset<_Value, _HashFcn, _EqualKey, _Alloc> _Container; _Container* container; typename _Container::iterator iter; public: diff --git a/libstdc++-v3/include/ext/ropeimpl.h b/libstdc++-v3/include/ext/ropeimpl.h index f1e84edc976e..54ddc26e7fa1 100644 --- a/libstdc++-v3/include/ext/ropeimpl.h +++ b/libstdc++-v3/include/ext/ropeimpl.h @@ -49,8 +49,17 @@ #include #include -namespace std +namespace __gnu_cxx { +using std::size_t; +using std::printf; +using std::basic_ostream; +using std::__throw_length_error; +using std::__alloc; +using std::_Destroy; +using std::uninitialized_fill_n; +using std::lexicographical_compare_3way; +using std::uninitialized_copy_n; // Set buf_start, buf_end, and buf_ptr appropriately, filling tmp_buf // if necessary. Assumes _M_path_end[leaf_index] and leaf_pos are correct. @@ -837,13 +846,13 @@ bool rope<_CharT, _Alloc>::_S_apply_to_pieces( _RopeRep* __left = __conc->_M_left; size_t __left_len = __left->_M_size; if (__begin < __left_len) { - size_t __left_end = min(__left_len, __end); + size_t __left_end = std::min(__left_len, __end); if (!_S_apply_to_pieces(__c, __left, __begin, __left_end)) return false; } if (__end > __left_len) { _RopeRep* __right = __conc->_M_right; - size_t __right_start = max(__left_len, __begin); + size_t __right_start = std::max(__left_len, __begin); if (!_S_apply_to_pieces(__c, __right, __right_start - __left_len, __end - __left_len)) { @@ -901,7 +910,7 @@ basic_ostream<_CharT, _Traits>& operator<< (basic_ostream<_CharT, _Traits>& __o, const rope<_CharT, _Alloc>& __r) { size_t __w = __o.width(); - bool __left = bool(__o.flags() & ios::left); + bool __left = bool(__o.flags() & std::ios::left); size_t __pad_len; size_t __rope_len = __r.size(); _Rope_insert_char_consumer<_CharT, _Traits> __c(__o); @@ -974,7 +983,7 @@ rope<_CharT,_Alloc>::_S_flatten(_RopeRep* __r, _CharT* __buffer) case _RopeRep::_S_leaf: { _RopeLeaf* __l = (_RopeLeaf*)__r; - return copy_n(__l->_M_data, __l->_M_size, __buffer).second; + return std::copy_n(__l->_M_data, __l->_M_size, __buffer).second; } case _RopeRep::_S_function: case _RopeRep::_S_substringfn: @@ -1449,7 +1458,7 @@ const _CharT* rope<_CharT,_Alloc>::c_str() const { _M_tree_ptr->_M_c_string = __result; # else if ((__old_c_string = (__GC_CONST _CharT*) - _Atomic_swap((unsigned long *)(&(_M_tree_ptr->_M_c_string)), + std::_Atomic_swap((unsigned long *)(&(_M_tree_ptr->_M_c_string)), (unsigned long)__result)) != 0) { // It must have been added in the interim. Hence it had to have been // separately allocated. Deallocate the old copy, since we just @@ -1530,7 +1539,7 @@ inline void rotate( } # endif -} // namespace std +} // namespace __gnu_cxx // Local Variables: // mode:C++ diff --git a/libstdc++-v3/include/ext/stl_hash_fun.h b/libstdc++-v3/include/ext/stl_hash_fun.h index 4dba3292e603..64ddab86eda9 100644 --- a/libstdc++-v3/include/ext/stl_hash_fun.h +++ b/libstdc++-v3/include/ext/stl_hash_fun.h @@ -63,8 +63,9 @@ #include -namespace std +namespace __gnu_cxx { +using std::size_t; template struct hash { }; @@ -115,7 +116,7 @@ template<> struct hash { size_t operator()(unsigned long __x) const { return __x; } }; -} // namespace std +} // namespace __gnu_cxx #endif /* _CPP_BITS_STL_HASH_FUN_H */ diff --git a/libstdc++-v3/include/ext/stl_hashtable.h b/libstdc++-v3/include/ext/stl_hashtable.h index 150775feae87..91024b566077 100644 --- a/libstdc++-v3/include/ext/stl_hashtable.h +++ b/libstdc++-v3/include/ext/stl_hashtable.h @@ -74,8 +74,18 @@ #include #include -namespace std +namespace __gnu_cxx { +using std::size_t; +using std::ptrdiff_t; +using std::forward_iterator_tag; +using std::input_iterator_tag; +using std::_Alloc_traits; +using std::_Construct; +using std::_Destroy; +using std::distance; +using std::vector; +using std::pair; template struct _Hashtable_node @@ -85,7 +95,7 @@ struct _Hashtable_node }; template + class _ExtractKey, class _EqualKey, class _Alloc = std::__alloc> class hashtable; template } } -} // namespace std +} // namespace __gnu_cxx #endif /* __SGI_STL_INTERNAL_HASHTABLE_H */ diff --git a/libstdc++-v3/include/ext/stl_rope.h b/libstdc++-v3/include/ext/stl_rope.h index b27e7eeee674..9f23a607c93a 100644 --- a/libstdc++-v3/include/ext/stl_rope.h +++ b/libstdc++-v3/include/ext/stl_rope.h @@ -61,8 +61,17 @@ # define __GC_CONST // constant except for deallocation # endif -namespace std +namespace __gnu_cxx { +using std::size_t; +using std::ptrdiff_t; +using std::allocator; +using std::iterator; +using std::reverse_iterator; +using std::_Alloc_traits; +using std::_Destroy; +using std::_Refcount_Base; +using std::uninitialized_copy_n; // The _S_eos function is used for those functions that // convert to/from C-like strings to detect the end of the string. @@ -122,7 +131,7 @@ class char_producer { // little like containers. template -class sequence_buffer : public iterator +class sequence_buffer : public iterator { public: typedef typename _Sequence::value_type value_type; @@ -316,7 +325,7 @@ rope<_CharT,_Alloc> operator+ (const rope<_CharT,_Alloc>& __left, // The result has refcount 0. template struct _Rope_Concat_fn - : public binary_function, rope<_CharT,_Alloc>, + : public std::binary_function, rope<_CharT,_Alloc>, rope<_CharT,_Alloc> > { rope<_CharT,_Alloc> operator() (const rope<_CharT,_Alloc>& __x, const rope<_CharT,_Alloc>& __y) { @@ -601,7 +610,7 @@ struct _Rope_RopeConcatenation : public _Rope_RopeRep<_CharT,_Alloc> { allocator_type __a) : _Rope_RopeRep<_CharT,_Alloc>(_S_concat, - max(__l->_M_depth, __r->_M_depth) + 1, + std::max(__l->_M_depth, __r->_M_depth) + 1, false, __l->_M_size + __r->_M_size, __a), _M_left(__l), _M_right(__r) @@ -838,7 +847,7 @@ class _Rope_char_ptr_proxy { template class _Rope_iterator_base - : public iterator + : public iterator { friend class rope<_CharT,_Alloc>; public: @@ -1538,7 +1547,7 @@ class rope : public _Rope_base<_CharT,_Alloc> { { _CharT* __buf = _Data_allocate(_S_rounded_up_size(1)); - _Construct(__buf, __c); + std::_Construct(__buf, __c); try { _M_tree_ptr = _S_new_RopeLeaf(__buf, 1, __a); } @@ -2107,8 +2116,9 @@ class rope : public _Rope_base<_CharT,_Alloc> { size_type find(_CharT __c, size_type __pos = 0) const; size_type find(const _CharT* __s, size_type __pos = 0) const { size_type __result_pos; - const_iterator __result = search(const_begin() + __pos, const_end(), - __s, __s + _S_char_ptr_len(__s)); + const_iterator __result = + std::search(const_begin() + __pos, const_end(), + __s, __s + _S_char_ptr_len(__s)); __result_pos = __result.index(); # ifndef __STL_OLD_ROPE_SEMANTICS if (__result_pos == size()) __result_pos = npos; @@ -2429,8 +2439,8 @@ inline bool operator!= (const _Rope_char_ptr_proxy<_CharT,_Alloc>& __x, } template -basic_ostream<_CharT, _Traits>& operator<< - (basic_ostream<_CharT, _Traits>& __o, +std::basic_ostream<_CharT, _Traits>& operator<< + (std::basic_ostream<_CharT, _Traits>& __o, const rope<_CharT, _Alloc>& __r); typedef rope crope; @@ -2475,7 +2485,7 @@ template<> struct hash } }; -} // namespace std +} // namespace __gnu_cxx # include diff --git a/libstdc++-v3/src/ext-inst.cc b/libstdc++-v3/src/ext-inst.cc index 34cd4e6a9fdc..21b98c8ee6ad 100644 --- a/libstdc++-v3/src/ext-inst.cc +++ b/libstdc++-v3/src/ext-inst.cc @@ -35,5 +35,6 @@ namespace std { - template const unsigned long rope >::_S_min_len; + template + const unsigned long __gnu_cxx::rope >::_S_min_len; } // namespace std diff --git a/libstdc++-v3/testsuite/ext/rope.cc b/libstdc++-v3/testsuite/ext/rope.cc index 79eecf822b59..969554cbe1c5 100644 --- a/libstdc++-v3/testsuite/ext/rope.cc +++ b/libstdc++-v3/testsuite/ext/rope.cc @@ -25,7 +25,7 @@ void test01() { - std::crope foo; + __gnu_cxx::crope foo; foo += "bar"; const char* data = foo.c_str(); std::cout << data << std::endl; -- 2.47.2