LLVM 22.0.0git
llvm::pdb::HashTable< ValueT > Class Template Reference

#include "llvm/DebugInfo/PDB/Native/HashTable.h"

Inheritance diagram for llvm::pdb::HashTable< ValueT >:
[legend]

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

Detailed Description

template<typename ValueT>
class llvm::pdb::HashTable< ValueT >

Definition at line 102 of file HashTable.h.

Member Typedef Documentation

◆ const_iterator

template<typename ValueT>
using llvm::pdb::HashTable< ValueT >::const_iterator = HashTableIterator<ValueT>

Definition at line 111 of file HashTable.h.

Constructor & Destructor Documentation

◆ HashTable() [1/2]

template<typename ValueT>
llvm::pdb::HashTable< ValueT >::HashTable ( )
inline

Definition at line 114 of file HashTable.h.

◆ HashTable() [2/2]

template<typename ValueT>
llvm::pdb::HashTable< ValueT >::HashTable ( uint32_t Capacity)
inlineexplicit

Definition at line 115 of file HashTable.h.

Member Function Documentation

◆ begin()

template<typename ValueT>
const_iterator llvm::pdb::HashTable< ValueT >::begin ( ) const
inline

Definition at line 215 of file HashTable.h.

◆ calculateSerializedLength()

template<typename ValueT>
uint32_t llvm::pdb::HashTable< ValueT >::calculateSerializedLength ( ) const
inline

Definition at line 156 of file HashTable.h.

◆ capacity()

template<typename ValueT>
uint32_t llvm::pdb::HashTable< ValueT >::capacity ( ) const
inline

◆ clear()

template<typename ValueT>
void llvm::pdb::HashTable< ValueT >::clear ( )
inline

Definition at line 205 of file HashTable.h.

◆ commit()

template<typename ValueT>
Error llvm::pdb::HashTable< ValueT >::commit ( BinaryStreamWriter & Writer) const
inline

Definition at line 183 of file HashTable.h.

◆ empty()

template<typename ValueT>
bool llvm::pdb::HashTable< ValueT >::empty ( ) const
inline

Definition at line 211 of file HashTable.h.

◆ end()

template<typename ValueT>
const_iterator llvm::pdb::HashTable< ValueT >::end ( ) const
inline

Definition at line 216 of file HashTable.h.

Referenced by llvm::pdb::const_iterator< SrcHeaderBlockEntry >::get().

◆ find_as()

template<typename ValueT>
template<typename Key, typename TraitsT>
const_iterator llvm::pdb::HashTable< ValueT >::find_as ( const Key & K,
TraitsT & Traits ) const
inline

Find the entry whose key has the specified hash value, using the specified traits defining hash function and equality.

Definition at line 221 of file HashTable.h.

Referenced by llvm::pdb::const_iterator< SrcHeaderBlockEntry >::get().

◆ get()

template<typename ValueT>
template<typename Key, typename TraitsT>
ValueT llvm::pdb::HashTable< ValueT >::get ( const Key & K,
TraitsT & Traits ) const
inline

Definition at line 258 of file HashTable.h.

◆ isDeleted()

template<typename ValueT>
bool llvm::pdb::HashTable< ValueT >::isDeleted ( uint32_t K) const
inlineprotected

◆ isPresent()

template<typename ValueT>
bool llvm::pdb::HashTable< ValueT >::isPresent ( uint32_t K) const
inlineprotected

◆ load()

template<typename ValueT>
Error llvm::pdb::HashTable< ValueT >::load ( BinaryStreamReader & Stream)
inline

Definition at line 119 of file HashTable.h.

◆ set_as()

template<typename ValueT>
template<typename Key, typename TraitsT>
bool llvm::pdb::HashTable< ValueT >::set_as ( const Key & K,
ValueT V,
TraitsT & Traits )
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 253 of file HashTable.h.

◆ size()

Member Data Documentation

◆ Buckets

template<typename ValueT>
BucketList llvm::pdb::HashTable< ValueT >::Buckets
protected

Definition at line 268 of file HashTable.h.

◆ const_iterator

template<typename ValueT>
friend llvm::pdb::HashTable< ValueT >::const_iterator

Definition at line 112 of file HashTable.h.

◆ Deleted

template<typename ValueT>
SparseBitVector llvm::pdb::HashTable< ValueT >::Deleted
mutableprotected

Definition at line 270 of file HashTable.h.

◆ Present

template<typename ValueT>
SparseBitVector llvm::pdb::HashTable< ValueT >::Present
mutableprotected

Definition at line 269 of file HashTable.h.


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