Add a new hash class in __gnu_ext for the extension containers. There
are two motivations for this.
First, this allows users who are specializing __gnu_ext::hash to
continue doing so without changing their code.
Second, SGI specifies hash overloads for char* and const char* that
perform a hash of the string, not of the pointer.
In order to support this, the hashing code for string is factored out.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@136539 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/include/ext/hash_set b/include/ext/hash_set
index daad847..14daf7b 100644
--- a/include/ext/hash_set
+++ b/include/ext/hash_set
@@ -196,6 +196,7 @@
#include <__config>
#include <__hash_table>
#include <functional>
+#include <ext/__hash>
#if __DEPRECATED
#warning Use of the header <ext/hash_set> is deprecated. Migrate to <unordered_set>
@@ -205,7 +206,7 @@
using namespace std;
-template <class _Value, class _Hash = std::hash<_Value>, class _Pred = equal_to<_Value>,
+template <class _Value, class _Hash = hash<_Value>, class _Pred = equal_to<_Value>,
class _Alloc = allocator<_Value> >
class _LIBCPP_VISIBLE hash_set
{