|
| hash_combine_recursive_helper () |
| Construct a recursive hash combining helper.
|
|
template<typename T > |
char * | combine_data (size_t &length, char *buffer_ptr, char *buffer_end, T data) |
| Combine one chunk of data into the current in-flight hash.
|
|
template<typename T , typename ... Ts> |
hash_code | combine (size_t length, char *buffer_ptr, char *buffer_end, const T &arg, const Ts &...args) |
| Recursive, variadic combining method.
|
|
hash_code | combine (size_t length, char *buffer_ptr, char *buffer_end) |
| Base case for recursive, variadic combining.
|
|
Helper class to manage the recursive combining of hash_combine arguments.
This class exists to manage the state and various calls involved in the recursive combining of arguments used in hash_combine. It is particularly useful at minimizing the code in the recursive calls to ease the pain caused by a lack of variadic functions.
template<typename T , typename ... Ts>
hash_code wpi::hashing::detail::hash_combine_recursive_helper::combine |
( |
size_t | length, |
|
|
char * | buffer_ptr, |
|
|
char * | buffer_end, |
|
|
const T & | arg, |
|
|
const Ts &... | args ) |
|
inline |
Recursive, variadic combining method.
This function recurses through each argument, combining that argument into a single hash.