| //===------------------------- hash_set ------------------------------------===// |
| // The LLVM Compiler Infrastructure |
| // This file is dual licensed under the MIT and the University of Illinois Open |
| // Source Licenses. See LICENSE.TXT for details. |
| //===----------------------------------------------------------------------===// |
| #pragma GCC system_header |
| template <typename T> struct _LIBCPP_TYPE_VIS hash : public std::hash<T> |
| template <> struct _LIBCPP_TYPE_VIS hash<const char*> |
| : public unary_function<const char*, size_t> |
| _LIBCPP_INLINE_VISIBILITY |
| size_t operator()(const char *__c) const _NOEXCEPT |
| return __do_string_hash(__c, __c + strlen(__c)); |
| template <> struct _LIBCPP_TYPE_VIS hash<char *> |
| : public unary_function<char*, size_t> |
| _LIBCPP_INLINE_VISIBILITY |
| size_t operator()(char *__c) const _NOEXCEPT |
| return __do_string_hash<const char *>(__c, __c + strlen(__c)); |
| #endif // _LIBCPP_EXT_HASH |