19#ifndef _STLP_STRING_HASH_H
20#define _STLP_STRING_HASH_H
22#ifndef _STLP_HASH_FUN_H
26#ifndef _STLP_INTERNAL_STRING_H
32template <
class _CharT,
class _Traits,
class _Alloc>
35 unsigned long __h = 0;
36 size_t __len = __s.
size();
37 const _CharT* __data = __s.
data();
38 for (
size_t __i = 0; __i < __len; ++__i)
39 __h = (__h << 2) + __h + __data[__i];
43#if defined (_STLP_CLASS_PARTIAL_SPECIALIZATION) && \
44 (!defined(__BORLANDC__) || (__BORLANDC__ >= 0x560))
45template <
class _CharT,
class _Traits,
class _Alloc>
59# if defined (_STLP_HAS_WCHAR_T)
62 size_t operator()(
const wstring& __s)
const
_STLP_BEGIN_NAMESPACE _STLP_INLINE_LOOP size_t __stl_string_hash(const basic_string< _CharT, _Traits, _Alloc > &__s)
const _CharT * data() const
#define _STLP_TEMPLATE_NULL
#define _STLP_INLINE_LOOP
#define _STLP_CLASS_DECLSPEC
#define _STLP_BEGIN_NAMESPACE
#define _STLP_END_NAMESPACE
__crt_unique_heap_ptr< wchar_t > const wstring(_malloc_crt_t(wchar_t, maxsize))
size_t operator()(const string &__s) const