LLVM 20.0.0git
Classes | Public Types | Public Member Functions | Public Attributes | Protected Member Functions | Protected Attributes | List of all members
llvm::pdb::HashTable< ValueT > Class Template Reference

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

Inheritance diagram for llvm::pdb::HashTable< ValueT >:
Inheritance graph
[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 99 of file HashTable.h.

Member Typedef Documentation

◆ const_iterator

Definition at line 108 of file HashTable.h.

Constructor & Destructor Documentation

◆ HashTable() [1/2]

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

Definition at line 111 of file HashTable.h.

References llvm::pdb::HashTable< ValueT >::Buckets.

◆ HashTable() [2/2]

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

Definition at line 112 of file HashTable.h.

References llvm::pdb::HashTable< ValueT >::Buckets.

Member Function Documentation

◆ begin()

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

Definition at line 212 of file HashTable.h.

Referenced by llvm::pdb::InjectedSourceStream::begin().

◆ calculateSerializedLength()

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

◆ capacity()

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

◆ clear()

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

◆ commit()

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

◆ empty()

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

Definition at line 208 of file HashTable.h.

References llvm::pdb::HashTable< ValueT >::size().

◆ end()

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

◆ 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 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().

◆ get()

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

◆ 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

◆ 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 250 of file HashTable.h.

◆ size()

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

Member Data Documentation

◆ Buckets

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

◆ const_iterator

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

Definition at line 109 of file HashTable.h.

◆ Deleted

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

◆ Present

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

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