#include "compiler/translator/ImmutableString.h"
std::ostream &operator<<(std::ostream &os, const sh::ImmutableString &str)
{ … }
#if defined(_MSC_VER)
# pragma warning(disable : 4309)
#endif
namespace
{
constexpr int mangledkT1[] = …;
constexpr int mangledkT2[] = …;
constexpr int mangledkG[] = …;
int MangledHashG(const char *key, const int *T)
{ … }
int MangledPerfectHash(const char *key)
{ … }
constexpr int unmangledkT1[] = …;
constexpr int unmangledkT2[] = …;
constexpr int unmangledkG[] = …;
int UnmangledHashG(const char *key, const int *T)
{ … }
int UnmangledPerfectHash(const char *key)
{ … }
}
namespace sh
{
template <>
const size_t ImmutableString::FowlerNollVoHash<4>::kFnvPrime = …;
template <>
const size_t ImmutableString::FowlerNollVoHash<4>::kFnvOffsetBasis = …;
template <>
const size_t ImmutableString::FowlerNollVoHash<8>::kFnvPrime = …;
template <>
const size_t ImmutableString::FowlerNollVoHash<8>::kFnvOffsetBasis = …;
uint32_t ImmutableString::mangledNameHash() const
{ … }
uint32_t ImmutableString::unmangledNameHash() const
{ … }
}