1#ifndef KIDS_HASH_FNV1A_H
2#define KIDS_HASH_FNV1A_H
8constexpr uint32_t
fnv1a(
const char* str, uint32_t
hash = 2166136261u) {
9 return (*str ==
'\0') ?
hash :
fnv1a(str + 1, (
hash ^
static_cast<uint32_t
>(*str)) * 16777619u);
12constexpr uint32_t
hash(
const char* str) {
return fnv1a(str); }
constexpr uint32_t hash(const char *str)
constexpr uint32_t fnv1a(const char *str, uint32_t hash=2166136261u)