diff options
Diffstat (limited to 'libstdc++-v3/include')
-rw-r--r-- | libstdc++-v3/include/bits/basic_string.h | 8 | ||||
-rw-r--r-- | libstdc++-v3/include/bits/functional_hash.h | 12 | ||||
-rw-r--r-- | libstdc++-v3/include/bits/stl_bvector.h | 2 | ||||
-rw-r--r-- | libstdc++-v3/include/debug/bitset | 2 | ||||
-rw-r--r-- | libstdc++-v3/include/debug/vector | 2 | ||||
-rw-r--r-- | libstdc++-v3/include/profile/bitset | 2 | ||||
-rw-r--r-- | libstdc++-v3/include/profile/vector | 2 | ||||
-rw-r--r-- | libstdc++-v3/include/std/bitset | 4 | ||||
-rw-r--r-- | libstdc++-v3/include/std/system_error | 2 | ||||
-rw-r--r-- | libstdc++-v3/include/std/thread | 5 | ||||
-rw-r--r-- | libstdc++-v3/include/std/typeindex | 6 |
11 files changed, 25 insertions, 22 deletions
diff --git a/libstdc++-v3/include/bits/basic_string.h b/libstdc++-v3/include/bits/basic_string.h index 2fb6717..308285b 100644 --- a/libstdc++-v3/include/bits/basic_string.h +++ b/libstdc++-v3/include/bits/basic_string.h @@ -2925,7 +2925,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) /// std::hash specialization for string. template<> struct hash<string> - : public std::unary_function<string, size_t> + : public __hash_base<size_t, string> { size_t operator()(const string& __s) const @@ -2936,7 +2936,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) /// std::hash specialization for wstring. template<> struct hash<wstring> - : public std::unary_function<wstring, size_t> + : public __hash_base<size_t, wstring> { size_t operator()(const wstring& __s) const @@ -2950,7 +2950,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) /// std::hash specialization for u16string. template<> struct hash<u16string> - : public std::unary_function<u16string, size_t> + : public __hash_base<size_t, u16string> { size_t operator()(const u16string& __s) const @@ -2961,7 +2961,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) /// std::hash specialization for u32string. template<> struct hash<u32string> - : public std::unary_function<u32string, size_t> + : public __hash_base<size_t, u32string> { size_t operator()(const u32string& __s) const diff --git a/libstdc++-v3/include/bits/functional_hash.h b/libstdc++-v3/include/bits/functional_hash.h index 3639687..a132cce 100644 --- a/libstdc++-v3/include/bits/functional_hash.h +++ b/libstdc++-v3/include/bits/functional_hash.h @@ -33,7 +33,6 @@ #pragma GCC system_header #include <bits/c++config.h> -#include <bits/stl_function.h> namespace std { @@ -45,9 +44,16 @@ namespace std * @{ */ + template<typename _Result, typename _Arg> + struct __hash_base + { + typedef _Result result_type; + typedef _Arg argument_type; + }; + /// Primary class template hash. template<typename _Tp> - struct hash : public std::unary_function<_Tp, size_t> + struct hash : public __hash_base<size_t, _Tp> { size_t operator()(_Tp __val) const; @@ -55,7 +61,7 @@ namespace std /// Partial specializations for pointer types. template<typename _Tp> - struct hash<_Tp*> : public std::unary_function<_Tp*, size_t> + struct hash<_Tp*> : public __hash_base<size_t, _Tp*> { size_t operator()(_Tp* __p) const diff --git a/libstdc++-v3/include/bits/stl_bvector.h b/libstdc++-v3/include/bits/stl_bvector.h index c489b44..74c2e85 100644 --- a/libstdc++-v3/include/bits/stl_bvector.h +++ b/libstdc++-v3/include/bits/stl_bvector.h @@ -1038,7 +1038,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) /// std::hash specialization for vector<bool>. template<typename _Alloc> struct hash<_GLIBCXX_STD_D::vector<bool, _Alloc>> - : public std::unary_function<_GLIBCXX_STD_D::vector<bool, _Alloc>, size_t> + : public __hash_base<size_t, _GLIBCXX_STD_D::vector<bool, _Alloc>> { size_t operator()(const _GLIBCXX_STD_D::vector<bool, _Alloc>& __b) const; diff --git a/libstdc++-v3/include/debug/bitset b/libstdc++-v3/include/debug/bitset index f452062..017c9e0 100644 --- a/libstdc++-v3/include/debug/bitset +++ b/libstdc++-v3/include/debug/bitset @@ -385,7 +385,7 @@ namespace __debug /// std::hash specialization for bitset. template<size_t _Nb> struct hash<__debug::bitset<_Nb>> - : public std::unary_function<__debug::bitset<_Nb>, size_t> + : public __hash_base<size_t, __debug::bitset<_Nb>> { size_t operator()(const __debug::bitset<_Nb>& __b) const diff --git a/libstdc++-v3/include/debug/vector b/libstdc++-v3/include/debug/vector index b0846b8..9004f29 100644 --- a/libstdc++-v3/include/debug/vector +++ b/libstdc++-v3/include/debug/vector @@ -584,7 +584,7 @@ namespace __debug /// std::hash specialization for vector<bool>. template<typename _Alloc> struct hash<__debug::vector<bool, _Alloc>> - : public std::unary_function<__debug::vector<bool, _Alloc>, size_t> + : public __hash_base<size_t, __debug::vector<bool, _Alloc>> { size_t operator()(const __debug::vector<bool, _Alloc>& __b) const diff --git a/libstdc++-v3/include/profile/bitset b/libstdc++-v3/include/profile/bitset index f6b8249..7917524 100644 --- a/libstdc++-v3/include/profile/bitset +++ b/libstdc++-v3/include/profile/bitset @@ -359,7 +359,7 @@ namespace __profile /// std::hash specialization for bitset. template<size_t _Nb> struct hash<__profile::bitset<_Nb>> - : public std::unary_function<__profile::bitset<_Nb>, size_t> + : public __hash_base<size_t, __profile::bitset<_Nb>> { size_t operator()(const __profile::bitset<_Nb>& __b) const diff --git a/libstdc++-v3/include/profile/vector b/libstdc++-v3/include/profile/vector index 1bd4346..cd04b51 100644 --- a/libstdc++-v3/include/profile/vector +++ b/libstdc++-v3/include/profile/vector @@ -505,7 +505,7 @@ namespace __profile /// std::hash specialization for vector<bool>. template<typename _Alloc> struct hash<__profile::vector<bool, _Alloc>> - : public std::unary_function<__profile::vector<bool, _Alloc>, size_t> + : public __hash_base<size_t, __profile::vector<bool, _Alloc>> { size_t operator()(const __profile::vector<bool, _Alloc>& __b) const diff --git a/libstdc++-v3/include/std/bitset b/libstdc++-v3/include/std/bitset index 6fe1235..d263fae 100644 --- a/libstdc++-v3/include/std/bitset +++ b/libstdc++-v3/include/std/bitset @@ -1495,7 +1495,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) /// std::hash specialization for bitset. template<size_t _Nb> struct hash<_GLIBCXX_STD_D::bitset<_Nb>> - : public std::unary_function<_GLIBCXX_STD_D::bitset<_Nb>, size_t> + : public __hash_base<size_t, _GLIBCXX_STD_D::bitset<_Nb>> { size_t operator()(const _GLIBCXX_STD_D::bitset<_Nb>& __b) const @@ -1507,7 +1507,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) template<> struct hash<_GLIBCXX_STD_D::bitset<0>> - : public std::unary_function<_GLIBCXX_STD_D::bitset<0>, size_t> + : public __hash_base<size_t, _GLIBCXX_STD_D::bitset<0>> { size_t operator()(const _GLIBCXX_STD_D::bitset<0>&) const diff --git a/libstdc++-v3/include/std/system_error b/libstdc++-v3/include/std/system_error index 2c968e9..ce4e238 100644 --- a/libstdc++-v3/include/std/system_error +++ b/libstdc++-v3/include/std/system_error @@ -353,7 +353,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) /// std::hash specialization for error_code. template<> struct hash<error_code> - : public std::unary_function<error_code, size_t> + : public __hash_base<size_t, error_code> { size_t operator()(const error_code& __e) const diff --git a/libstdc++-v3/include/std/thread b/libstdc++-v3/include/std/thread index 38e9d45..d5bbf6e 100644 --- a/libstdc++-v3/include/std/thread +++ b/libstdc++-v3/include/std/thread @@ -56,9 +56,6 @@ namespace std * @{ */ - template<typename _Tp> - struct hash; - /// thread class thread { @@ -224,7 +221,7 @@ namespace std /// std::hash specialization for thread::id. template<> struct hash<thread::id> - : public std::unary_function<thread::id, size_t> + : public __hash_base<size_t, thread::id> { size_t operator()(const thread::id& __id) const diff --git a/libstdc++-v3/include/std/typeindex b/libstdc++-v3/include/std/typeindex index a5d3766..44836f6 100644 --- a/libstdc++-v3/include/std/typeindex +++ b/libstdc++-v3/include/std/typeindex @@ -35,9 +35,7 @@ # include <bits/c++0x_warning.h> #else -#include <bits/c++config.h> #include <typeinfo> -#include <bits/stl_function.h> // For unary_function namespace std { @@ -92,8 +90,10 @@ namespace std /// std::hash specialization for type_index. template<> struct hash<type_index> - : public std::unary_function<type_index, size_t> { + typedef size_t result_type; + typedef type_index argument_type; + size_t operator()(const type_index& __ti) const { return __ti.hash_code(); } |