|
template<typename T > |
std::enable_if_t< is_integral_or_enum< T >::value, hash_code > | wpi::hash_value (T value) |
| Compute a hash_code for any integer value. More...
|
|
template<typename T > |
hash_code | wpi::hash_value (const T *ptr) |
| Compute a hash_code for a pointer's address. More...
|
|
template<typename T , typename U > |
hash_code | wpi::hash_value (const std::pair< T, U > &arg) |
| Compute a hash_code for a pair of objects. More...
|
|
template<typename... Ts> |
hash_code | wpi::hash_value (const std::tuple< Ts... > &arg) |
| Compute a hash_code for a tuple. More...
|
|
template<typename T > |
hash_code | wpi::hash_value (const std::basic_string< T > &arg) |
| Compute a hash_code for a standard string. More...
|
|
void | wpi::set_fixed_execution_hash_seed (uint64_t fixed_value) |
| Override the execution seed with a fixed value. More...
|
|
uint64_t | wpi::hashing::detail::fetch64 (const char *p) |
|
uint32_t | wpi::hashing::detail::fetch32 (const char *p) |
|
uint64_t | wpi::hashing::detail::rotate (uint64_t val, size_t shift) |
| Bitwise right rotate. More...
|
|
uint64_t | wpi::hashing::detail::shift_mix (uint64_t val) |
|
uint64_t | wpi::hashing::detail::hash_16_bytes (uint64_t low, uint64_t high) |
|
uint64_t | wpi::hashing::detail::hash_1to3_bytes (const char *s, size_t len, uint64_t seed) |
|
uint64_t | wpi::hashing::detail::hash_4to8_bytes (const char *s, size_t len, uint64_t seed) |
|
uint64_t | wpi::hashing::detail::hash_9to16_bytes (const char *s, size_t len, uint64_t seed) |
|
uint64_t | wpi::hashing::detail::hash_17to32_bytes (const char *s, size_t len, uint64_t seed) |
|
uint64_t | wpi::hashing::detail::hash_33to64_bytes (const char *s, size_t len, uint64_t seed) |
|
uint64_t | wpi::hashing::detail::hash_short (const char *s, size_t length, uint64_t seed) |
|
uint64_t | wpi::hashing::detail::get_execution_seed () |
|
template<typename T > |
std::enable_if_t< is_hashable_data< T >::value, T > | wpi::hashing::detail::get_hashable_data (const T &value) |
| Helper to get the hashable data representation for a type. More...
|
|
template<typename T > |
std::enable_if_t<!is_hashable_data< T >::value, size_t > | wpi::hashing::detail::get_hashable_data (const T &value) |
| Helper to get the hashable data representation for a type. More...
|
|
template<typename T > |
bool | wpi::hashing::detail::store_and_advance (char *&buffer_ptr, char *buffer_end, const T &value, size_t offset=0) |
| Helper to store data from a value into a buffer and advance the pointer into that buffer. More...
|
|
template<typename InputIteratorT > |
hash_code | wpi::hashing::detail::hash_combine_range_impl (InputIteratorT first, InputIteratorT last) |
| Implement the combining of integral values into a hash_code. More...
|
|
template<typename ValueT > |
std::enable_if_t< is_hashable_data< ValueT >::value, hash_code > | wpi::hashing::detail::hash_combine_range_impl (ValueT *first, ValueT *last) |
| Implement the combining of integral values into a hash_code. More...
|
|
template<typename InputIteratorT > |
hash_code | wpi::hash_combine_range (InputIteratorT first, InputIteratorT last) |
| Compute a hash_code for a sequence of values. More...
|
|
template<typename ... Ts> |
hash_code | wpi::hash_combine (const Ts &...args) |
| Combine values into a single hash_code. More...
|
|
hash_code | wpi::hashing::detail::hash_integer_value (uint64_t value) |
| Helper to hash the value of a single integer. More...
|
|
template<typename... Ts, std::size_t... Indices> |
hash_code | wpi::hashing::detail::hash_value_tuple_helper (const std::tuple< Ts... > &arg, std::index_sequence< Indices... >) |
|