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: