LLVM: llvm::ThreadSafeTrieRawHashMap< T, NumHashBytes > Class Template Reference (original) (raw)

Lock-free thread-safe hash-mapped trie. More...

#include "[llvm/ADT/TrieRawHashMap.h](TrieRawHashMap%5F8h%5Fsource.html)"

Public Types
using HashT = std::array<uint8_t, NumHashBytes>
using HashType = HashT
Public Member Functions
pointer insertLazy (const_pointer Hint, ArrayRef< uint8_t > Hash, function_ref< void(LazyValueConstructor)> OnConstruct)
Insert with a hint.
pointer insertLazy (ArrayRef< uint8_t > Hash, function_ref< void(LazyValueConstructor)> OnConstruct)
pointer insert (const_pointer Hint, value_type &&HashedData)
pointer insert (const_pointer Hint, const value_type &HashedData)
pointer find (ArrayRef< uint8_t > Hash)
const_pointer find (ArrayRef< uint8_t > Hash) const
ThreadSafeTrieRawHashMap (std::optional< size_t > NumRootBits=std::nullopt, std::optional< size_t > NumSubtrieBits=std::nullopt)
~ThreadSafeTrieRawHashMap ()
ThreadSafeTrieRawHashMap (ThreadSafeTrieRawHashMap &&)=default
ThreadSafeTrieRawHashMap & operator= (ThreadSafeTrieRawHashMap &&)=delete
ThreadSafeTrieRawHashMap (const ThreadSafeTrieRawHashMap &)=delete
ThreadSafeTrieRawHashMap & operator= (const ThreadSafeTrieRawHashMap &)=delete
void operator delete (void *Ptr)
LLVM_DUMP_METHOD void dump () const
LLVM_ABI void print (raw_ostream &OS) const
Public Member Functions inherited from llvm::ThreadSafeTrieRawHashMapBase
void operator delete (void *Ptr)
LLVM_DUMP_METHOD void dump () const
LLVM_ABI void print (raw_ostream &OS) const
Additional Inherited Members
Static Public Member Functions inherited from llvm::ThreadSafeTrieRawHashMapBase
static void * operator new (size_t Size)
Static Public Attributes inherited from llvm::ThreadSafeTrieRawHashMapBase
static constexpr size_t TrieContentBaseSize = 4
static constexpr size_t DefaultNumRootBits = 6
static constexpr size_t DefaultNumSubtrieBits = 4
Protected Member Functions inherited from llvm::ThreadSafeTrieRawHashMapBase
LLVM_ABI PointerBase find (ArrayRef< uint8_t > Hash) const
Find the stored content with hash.
LLVM_ABI PointerBase insert (PointerBase Hint, ArrayRef< uint8_t > Hash, function_ref< const uint8_t *(void *Mem, ArrayRef< uint8_t > Hash)> Constructor)
Insert and return the stored content.
ThreadSafeTrieRawHashMapBase ()=delete
LLVM_ABI ThreadSafeTrieRawHashMapBase (size_t ContentAllocSize, size_t ContentAllocAlign, size_t ContentOffset, std::optional< size_t > NumRootBits=std::nullopt, std::optional< size_t > NumSubtrieBits=std::nullopt)
LLVM_ABI ~ThreadSafeTrieRawHashMapBase ()
Destructor, which asserts if there's anything to do.
LLVM_ABI void destroyImpl (function_ref< void(void *ValueMem)> Destructor)
LLVM_ABI ThreadSafeTrieRawHashMapBase (ThreadSafeTrieRawHashMapBase &&RHS)
ThreadSafeTrieRawHashMapBase & operator= (ThreadSafeTrieRawHashMapBase &&RHS)=delete
ThreadSafeTrieRawHashMapBase (const ThreadSafeTrieRawHashMapBase &)=delete
ThreadSafeTrieRawHashMapBase & operator= (const ThreadSafeTrieRawHashMapBase &)=delete
LLVM_ABI PointerBase getRoot () const
LLVM_ABI unsigned getStartBit (PointerBase P) const
LLVM_ABI unsigned getNumBits (PointerBase P) const
LLVM_ABI unsigned getNumSlotUsed (PointerBase P) const
LLVM_ABI std::string getTriePrefixAsString (PointerBase P) const
LLVM_ABI unsigned getNumTries () const
LLVM_ABI PointerBase getNextTrie (PointerBase P) const
Static Protected Attributes inherited from llvm::ThreadSafeTrieRawHashMapBase
template<class T>
static constexpr size_t DefaultContentAllocSize = sizeof(AllocValueType<T>)
template<class T>
static constexpr size_t DefaultContentAllocAlign = alignof(AllocValueType<T>)
template<class T>
static constexpr size_t DefaultContentOffset

template<class T, size_t NumHashBytes>
class llvm::ThreadSafeTrieRawHashMap< T, NumHashBytes >

Lock-free thread-safe hash-mapped trie.

Definition at line 186 of file TrieRawHashMap.h.

HashT

template<class T, size_t NumHashBytes>

HashType

template<class T, size_t NumHashBytes>

template<class T, size_t NumHashBytes>

llvm::ThreadSafeTrieRawHashMap< T, NumHashBytes >::ThreadSafeTrieRawHashMap ( std::optional< size_t > NumRootBits = std::nullopt, std::optional< size_t > NumSubtrieBits = std::nullopt ) inline

~ThreadSafeTrieRawHashMap()

template<class T, size_t NumHashBytes>

ThreadSafeTrieRawHashMap() [2/3]

template<class T, size_t NumHashBytes>

ThreadSafeTrieRawHashMap() [3/3]

template<class T, size_t NumHashBytes>

dump()

template<class T, size_t NumHashBytes>

LLVM_DUMP_METHOD void llvm::ThreadSafeTrieRawHashMapBase::dump ( ) const

find() [1/2]

template<class T, size_t NumHashBytes>

find() [2/2]

template<class T, size_t NumHashBytes>

insert() [1/2]

template<class T, size_t NumHashBytes>

insert() [2/2]

template<class T, size_t NumHashBytes>

insertLazy() [1/2]

template<class T, size_t NumHashBytes>

insertLazy() [2/2]

template<class T, size_t NumHashBytes>

operator delete()

template<class T, size_t NumHashBytes>

void llvm::ThreadSafeTrieRawHashMapBase::operator delete ( void * Ptr) inline

operator=() [1/2]

template<class T, size_t NumHashBytes>

operator=() [2/2]

template<class T, size_t NumHashBytes>

print()

template<class T, size_t NumHashBytes>

LLVM_ABI void llvm::ThreadSafeTrieRawHashMapBase::print ( raw_ostream & OS ) const

The documentation for this class was generated from the following file: