File StringHash.hpp

Typedefs

typedef uint64_t HashType64
class HashedString

Subclassed by StringKey

Public Functions

constexpr HashedString() = default
inline constexpr HashedString(std::nullptr_t)
inline constexpr HashedString(const HashedString &o)
inline constexpr HashedString(HashedString &&o) noexcept
inline constexpr HashedString &operator=(const HashedString &o)
inline constexpr HashedString &operator=(HashedString &&o) noexcept
inline constexpr HashedString(std::string str)
inline constexpr HashedString(const HashType64 hash, std::string str)
inline constexpr bool operator==(const HashedString &rhs) const
inline constexpr bool operator<(const HashedString &o) const
inline constexpr operator string_span() const
inline constexpr HashType64 getHash() const
inline constexpr const std::string &getString() const
inline constexpr const char *c_str() const
inline constexpr bool isEmpty() const
inline constexpr bool empty() const
inline constexpr void clear()

Public Static Functions

static inline constexpr HashType64 computeHash(const std::string_view str)

Public Static Attributes

static HashedString defaultErrorValue
static const HashedString EMPTY = {}

Private Members

HashType64 mStrHash = {}
std::string mStr
mutable const HashedString *mLastMatch = {}
template<>
struct hash<HashedString>

Public Functions

inline std::size_t operator()(const HashedString &key) const
class StringKey : public HashedString

Public Functions

StringKey() = default
StringKey(HashedString&&)
inline StringKey(StringKey &&rha) noexcept
inline StringKey(const HashedString &key)
inline StringKey(const StringKey &key)
inline StringKey(const std::string &key)
StringKey &operator=(const HashedString&)
inline StringKey &operator=(const StringKey &key)
bool operator==(const StringKey&) const

Protected Attributes

mutable const StringKey *mMatch = nullptr
template<>
struct hash<StringKey>

Public Functions

inline std::size_t operator()(const StringKey &key) const