LLVM 19.0.0git
Classes | Namespaces | Typedefs | Functions
HashBuilder.h File Reference
#include "llvm/ADT/ArrayRef.h"
#include "llvm/ADT/Hashing.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/ADT/StringRef.h"
#include "llvm/Support/Endian.h"
#include "llvm/Support/type_traits.h"
#include <iterator>
#include <optional>
#include <utility>

Go to the source code of this file.

Classes

struct  llvm::hashbuilder_detail::IsHashableData< U >
 Trait to indicate whether a type's bits can be hashed directly (after endianness correction). More...
 
class  llvm::HashBuilderBase< HasherT >
 Declares the hasher member, and functions forwarding directly to the hasher. More...
 
class  llvm::HashBuilder< HasherT, Endianness >
 Interface to help hash various types through a hasher type. More...
 
class  llvm::hashbuilder_detail::HashCodeHasher
 

Namespaces

namespace  llvm
 This is an optimization pass for GlobalISel generic memory operations.
 
namespace  llvm::hashbuilder_detail
 

Typedefs

using llvm::hashbuilder_detail::HashCodeHashBuilder = HashBuilder< hashbuilder_detail::HashCodeHasher, llvm::endianness::native >
 

Functions

template<typename T >
std::enable_if_t< is_detected< hashbuilder_detail::HashCodeHashBuilder::HasAddHashT, T >::value, hash_code > llvm::hash_value (const T &Value)
 Provide a default implementation of hash_value when addHash(const T &) is supported.