LLVM: llvm::hashing::detail::hash_combine_recursive_helper Struct Reference (original) (raw)
Helper class to manage the recursive combining of hash_combine arguments. More...
#include "[llvm/ADT/Hashing.h](Hashing%5F8h%5Fsource.html)"
| Public Member Functions | |
|---|---|
| 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.
Definition at line 486 of file Hashing.h.
| llvm::hashing::detail::hash_combine_recursive_helper::hash_combine_recursive_helper ( ) | inline |
|---|
◆ combine() [1/2]
| hash_code llvm::hashing::detail::hash_combine_recursive_helper::combine ( size_t length, char * buffer_ptr, char * buffer_end ) | inline |
|---|
◆ combine() [2/2]
template<typename T, typename ... Ts>
| hash_code llvm::hashing::detail::hash_combine_recursive_helper::combine ( size_t length, char * buffer_ptr, char * buffer_end, const T & arg, const Ts &... args ) | inline |
|---|
◆ combine_data()
template<typename T>
| char * llvm::hashing::detail::hash_combine_recursive_helper::combine_data ( size_t & length, char * buffer_ptr, char * buffer_end, T data ) | inline |
|---|
◆ buffer
char llvm::hashing::detail::hash_combine_recursive_helper::buffer[64] = {}
◆ seed
const uint64_t llvm::hashing::detail::hash_combine_recursive_helper::seed
◆ state
hash_state llvm::hashing::detail::hash_combine_recursive_helper::state
The documentation for this struct was generated from the following file:
- include/llvm/ADT/Hashing.h