LLVM 20.0.0git
|
#include "llvm/DebugInfo/PDB/Native/HashTable.h"
Public Types | |
using | const_iterator = HashTableIterator< ValueT > |
Public Member Functions | |
HashTable () | |
HashTable (uint32_t Capacity) | |
Error | load (BinaryStreamReader &Stream) |
uint32_t | calculateSerializedLength () const |
Error | commit (BinaryStreamWriter &Writer) const |
void | clear () |
bool | empty () const |
uint32_t | capacity () const |
uint32_t | size () const |
const_iterator | begin () const |
const_iterator | end () const |
template<typename Key , typename TraitsT > | |
const_iterator | find_as (const Key &K, TraitsT &Traits) const |
Find the entry whose key has the specified hash value, using the specified traits defining hash function and equality. | |
template<typename Key , typename TraitsT > | |
bool | set_as (const Key &K, ValueT V, TraitsT &Traits) |
Set the entry using a key type that the specified Traits can convert from a real key to an internal key. | |
template<typename Key , typename TraitsT > | |
ValueT | get (const Key &K, TraitsT &Traits) const |
Public Attributes | |
friend | const_iterator |
Protected Member Functions | |
bool | isPresent (uint32_t K) const |
bool | isDeleted (uint32_t K) const |
Protected Attributes | |
BucketList | Buckets |
SparseBitVector | Present |
SparseBitVector | Deleted |
Definition at line 99 of file HashTable.h.
using llvm::pdb::HashTable< ValueT >::const_iterator = HashTableIterator<ValueT> |
Definition at line 108 of file HashTable.h.
|
inline |
Definition at line 111 of file HashTable.h.
References llvm::pdb::HashTable< ValueT >::Buckets.
|
inlineexplicit |
Definition at line 112 of file HashTable.h.
References llvm::pdb::HashTable< ValueT >::Buckets.
|
inline |
Definition at line 212 of file HashTable.h.
Referenced by llvm::pdb::InjectedSourceStream::begin().
|
inline |
Definition at line 153 of file HashTable.h.
References llvm::alignTo(), llvm::pdb::HashTable< ValueT >::Deleted, llvm::SparseBitVector< ElementSize >::find_last(), llvm::pdb::HashTable< ValueT >::Present, llvm::pdb::HashTable< ValueT >::size(), and Size.
|
inline |
Definition at line 209 of file HashTable.h.
References llvm::pdb::HashTable< ValueT >::Buckets.
Referenced by llvm::pdb::HashTable< ValueT >::commit(), and llvm::pdb::HashTable< ValueT >::find_as().
|
inline |
Definition at line 202 of file HashTable.h.
References llvm::pdb::HashTable< ValueT >::Buckets, llvm::SparseBitVector< ElementSize >::clear(), llvm::pdb::HashTable< ValueT >::Deleted, and llvm::pdb::HashTable< ValueT >::Present.
|
inline |
Definition at line 180 of file HashTable.h.
References llvm::pdb::HashTable< ValueT >::capacity(), llvm::pdb::HashTable< ValueT >::Deleted, H, llvm::pdb::HashTable< ValueT >::Present, llvm::pdb::HashTable< ValueT >::size(), llvm::Error::success(), llvm::BinaryStreamWriter::writeInteger(), llvm::BinaryStreamWriter::writeObject(), and llvm::pdb::writeSparseBitVector().
|
inline |
Definition at line 208 of file HashTable.h.
References llvm::pdb::HashTable< ValueT >::size().
|
inline |
Definition at line 213 of file HashTable.h.
Referenced by llvm::pdb::InjectedSourceStream::end(), and llvm::pdb::HashTable< ValueT >::get().
|
inline |
Find the entry whose key has the specified hash value, using the specified traits defining hash function and equality.
Definition at line 218 of file HashTable.h.
References assert(), llvm::pdb::HashTable< ValueT >::Buckets, llvm::pdb::HashTable< ValueT >::capacity(), H, I, llvm::pdb::HashTable< ValueT >::isDeleted(), and llvm::pdb::HashTable< ValueT >::isPresent().
Referenced by llvm::pdb::HashTable< ValueT >::get().
|
inline |
Definition at line 255 of file HashTable.h.
References assert(), llvm::pdb::HashTable< ValueT >::end(), and llvm::pdb::HashTable< ValueT >::find_as().
|
inlineprotected |
Definition at line 263 of file HashTable.h.
References llvm::pdb::HashTable< ValueT >::Deleted, and llvm::SparseBitVector< ElementSize >::test().
Referenced by llvm::pdb::HashTable< ValueT >::find_as().
|
inlineprotected |
Definition at line 262 of file HashTable.h.
References llvm::pdb::HashTable< ValueT >::Present, and llvm::SparseBitVector< ElementSize >::test().
Referenced by llvm::pdb::HashTable< ValueT >::find_as().
|
inline |
Definition at line 116 of file HashTable.h.
References llvm::pdb::HashTable< ValueT >::Buckets, llvm::pdb::corrupt_file, llvm::SparseBitVector< ElementSize >::count(), llvm::pdb::HashTable< ValueT >::Deleted, H, llvm::SparseBitVector< ElementSize >::intersects(), P, llvm::pdb::HashTable< ValueT >::Present, llvm::BinaryStreamReader::readInteger(), llvm::BinaryStreamReader::readObject(), llvm::pdb::readSparseBitVector(), and llvm::Error::success().
Referenced by llvm::pdb::InjectedSourceStream::reload().
|
inline |
Set the entry using a key type that the specified Traits can convert from a real key to an internal key.
Definition at line 250 of file HashTable.h.
|
inline |
Definition at line 210 of file HashTable.h.
References llvm::SparseBitVector< ElementSize >::count(), and llvm::pdb::HashTable< ValueT >::Present.
Referenced by llvm::pdb::HashTable< ValueT >::calculateSerializedLength(), llvm::pdb::HashTable< ValueT >::commit(), llvm::pdb::HashTable< ValueT >::empty(), and llvm::pdb::InjectedSourceStream::size().
|
protected |
Definition at line 265 of file HashTable.h.
Referenced by llvm::pdb::HashTable< ValueT >::capacity(), llvm::pdb::HashTable< ValueT >::clear(), llvm::pdb::HashTable< ValueT >::find_as(), llvm::pdb::HashTable< ValueT >::HashTable(), and llvm::pdb::HashTable< ValueT >::load().
friend llvm::pdb::HashTable< ValueT >::const_iterator |
Definition at line 109 of file HashTable.h.
|
mutableprotected |
|
mutableprotected |
Definition at line 266 of file HashTable.h.
Referenced by llvm::pdb::HashTable< ValueT >::calculateSerializedLength(), llvm::pdb::HashTable< ValueT >::clear(), llvm::pdb::HashTable< ValueT >::commit(), llvm::pdb::HashTable< ValueT >::isPresent(), llvm::pdb::HashTable< ValueT >::load(), and llvm::pdb::HashTable< ValueT >::size().