Dry
Public Member Functions | Static Public Member Functions | Static Public Attributes | Private Attributes | List of all members
Dry::StringHash Class Reference

32-bit hash value for a string. More...

#include <Dry/Math/StringHash.h>

Public Member Functions

 StringHash () noexcept
 Construct with zero value.
 
 StringHash (const StringHash &rhs) noexcept=default
 Copy-construct from another hash.
 
 StringHash (unsigned value) noexcept
 Construct with an initial value.
 
 StringHash (const char *str) noexcept
 Construct from a C string.
 
 StringHash (const String &str) noexcept
 Construct from a string.
 
StringHashoperator= (const StringHash &rhs) noexcept=default
 Assign from another hash.
 
StringHash operator+ (const StringHash &rhs) const
 Add a hash.
 
StringHashoperator+= (const StringHash &rhs)
 Add-assign a hash.
 
bool operator== (const StringHash &rhs) const
 Test for equality with another hash.
 
bool operator!= (const StringHash &rhs) const
 Test for inequality with another hash.
 
bool operator< (const StringHash &rhs) const
 Test if less than another hash.
 
bool operator> (const StringHash &rhs) const
 Test if greater than another hash.
 
 operator bool () const
 Return true if nonzero hash value.
 
unsigned Value () const
 Return hash value.
 
String ToString () const
 Return as string.
 
String Reverse () const
 Return string which has specific hash value. Return first string if many (in order of calculation). Use for debug purposes only. Return empty string if DRY_HASH_DEBUG is off.
 
unsigned ToHash () const
 Return hash value for HashSet & HashMap.
 

Static Public Member Functions

static unsigned Calculate (const char *str, unsigned hash=0)
 Calculate hash value from a C string.
 
static StringHashRegisterGetGlobalStringHashRegister ()
 Get global StringHashRegister. Use for debug purposes only. Return nullptr if DRY_HASH_DEBUG is off.
 

Static Public Attributes

static const StringHash ZERO
 Zero hash.
 

Private Attributes

unsigned value_
 Hash value.
 

Detailed Description

32-bit hash value for a string.


The documentation for this class was generated from the following files: