epoc32/include/stdapis/stlportv5/stl/_string_hash.h
branchSymbian3
changeset 4 837f303aceeb
parent 3 e1b950c65cb4
     1.1 --- a/epoc32/include/stdapis/stlportv5/stl/_string_hash.h	Wed Mar 31 12:27:01 2010 +0100
     1.2 +++ b/epoc32/include/stdapis/stlportv5/stl/_string_hash.h	Wed Mar 31 12:33:34 2010 +0100
     1.3 @@ -2,13 +2,13 @@
     1.4   * Copyright (c) 1997-1999
     1.5   * Silicon Graphics Computer Systems, Inc.
     1.6   *
     1.7 - * Copyright (c) 1999 
     1.8 + * Copyright (c) 1999
     1.9   * Boris Fomitchev
    1.10   *
    1.11   * This material is provided "as is", with absolutely no warranty expressed
    1.12   * or implied. Any use is at your own risk.
    1.13   *
    1.14 - * Permission to use or copy this software for any purpose is hereby granted 
    1.15 + * Permission to use or copy this software for any purpose is hereby granted
    1.16   * without fee, provided the above notices are retained on all copies.
    1.17   * Permission to modify the code and to distribute modified code is granted,
    1.18   * provided the above notices are retained, and a notice that the code was
    1.19 @@ -17,13 +17,13 @@
    1.20   */
    1.21  
    1.22  #ifndef _STLP_STRING_HASH_H
    1.23 -# define _STLP_STRING_HASH_H
    1.24 +#define _STLP_STRING_HASH_H
    1.25  
    1.26  #ifndef _STLP_HASH_FUN_H
    1.27  # include <stl/_hash_fun.h>
    1.28  #endif
    1.29  
    1.30 -#ifndef _STLP_STRING_H
    1.31 +#ifndef _STLP_INTERNAL_STRING_H
    1.32  # include <stl/_string.h>
    1.33  #endif
    1.34  
    1.35 @@ -33,15 +33,14 @@
    1.36  _STLP_INLINE_LOOP size_t
    1.37  __stl_string_hash(const basic_string<_CharT,_Traits,_Alloc>& __s) {
    1.38    unsigned long __h = 0;
    1.39 -  typedef typename basic_string<_CharT,_Traits,_Alloc>::const_pointer const_ptr;
    1.40    size_t __len = __s.size();
    1.41    const _CharT* __data = __s.data();
    1.42    for ( size_t __i = 0; __i < __len; ++__i)
    1.43 -    __h = 5*__h + __data[__i];
    1.44 +    __h = /* 5 *__h */(__h << 2) + __h + __data[__i];
    1.45    return size_t(__h);
    1.46  }
    1.47  
    1.48 -#ifdef _STLP_CLASS_PARTIAL_SPECIALIZATION
    1.49 +#if defined (_STLP_CLASS_PARTIAL_SPECIALIZATION)
    1.50  
    1.51  template <class _CharT, class _Traits, class _Alloc>
    1.52  struct hash<basic_string<_CharT,_Traits,_Alloc> > {
    1.53 @@ -51,17 +50,19 @@
    1.54  
    1.55  #else
    1.56  
    1.57 -_STLP_TEMPLATE_NULL struct _STLP_CLASS_DECLSPEC hash<string> {
    1.58 +_STLP_TEMPLATE_NULL
    1.59 +struct _STLP_CLASS_DECLSPEC hash<string> {
    1.60    size_t operator()(const string& __s) const
    1.61      { return __stl_string_hash(__s); }
    1.62  };
    1.63  
    1.64 -# if defined (_STLP_HAS_WCHAR_T)
    1.65 -_STLP_TEMPLATE_NULL struct _STLP_CLASS_DECLSPEC hash<wstring> {
    1.66 +#  if defined (_STLP_HAS_WCHAR_T)
    1.67 +_STLP_TEMPLATE_NULL
    1.68 +struct _STLP_CLASS_DECLSPEC hash<wstring> {
    1.69    size_t operator()(const wstring& __s) const
    1.70      { return __stl_string_hash(__s); }
    1.71  };
    1.72 -# endif
    1.73 +#  endif
    1.74  
    1.75  #endif /* _STLP_CLASS_PARTIAL_SPECIALIZATION */
    1.76