class Hasher
Defined at line 19 of file ../../src/ui/lib/escher/util/hasher.h
Hash is an "incremental hasher" which has convenient methods for hashing
various data types.
Public Methods
void Hasher (uint64_t initial_hash)
Defined at line 21 of file ../../src/ui/lib/escher/util/hasher.h
void Hasher (const Hash & hash)
Defined at line 22 of file ../../src/ui/lib/escher/util/hasher.h
Hash value ()
Return the current Hash value.
Defined at line 25 of file ../../src/ui/lib/escher/util/hasher.h
template <typename T, class Enable = void>
void data (const T * data, size_t count)
Defined at line 33 of file ../../src/ui/lib/escher/util/hasher.h
template <typename T>
void struc (const T & t)
Treat the structure as if it were an array of uint32_t. Caller must be
careful not to have any padding bits. The current implementation is
limited to structure that are multiples of 4 bytes, because that's what
was needed at the time; this should be extended when necessary to handle
the remaining 1-3 bytes.
NOTE: The name "struc" is short for "struct"; we'd use that, except that
it's a reserved word in C++.
Defined at line 50 of file ../../src/ui/lib/escher/util/hasher.h
void u32 (const uint32_t value)
Defined at line 62 of file ../../src/ui/lib/escher/util/hasher.h
void i32 (int32_t value)
Defined at line 77 of file ../../src/ui/lib/escher/util/hasher.h
void f32 (float value)
Defined at line 79 of file ../../src/ui/lib/escher/util/hasher.h
void u64 (uint64_t value)
Defined at line 88 of file ../../src/ui/lib/escher/util/hasher.h
void i64 (int64_t value)
Defined at line 93 of file ../../src/ui/lib/escher/util/hasher.h
void f64 (double value)
Defined at line 98 of file ../../src/ui/lib/escher/util/hasher.h
void pointer (const void * ptr)
Defined at line 107 of file ../../src/ui/lib/escher/util/hasher.h
void const_chars (const char * str)
Defined at line 109 of file ../../src/ui/lib/escher/util/hasher.h
void string (const std::string & str)
Defined at line 119 of file ../../src/ui/lib/escher/util/hasher.h