LLVM  12.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]
Collaboration diagram for llvm::pdb::HashTable< ValueT >:
Collaboration 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. More...
 
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. More...
 
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 34 of file HashTable.h.

Member Typedef Documentation

◆ const_iterator

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

Definition at line 112 of file HashTable.h.

Constructor & Destructor Documentation

◆ HashTable() [1/2]

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

Definition at line 115 of file HashTable.h.

◆ HashTable() [2/2]

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

Definition at line 116 of file HashTable.h.

Member Function Documentation

◆ begin()

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

Definition at line 216 of file HashTable.h.

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

◆ calculateSerializedLength()

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

Definition at line 157 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 206 of file HashTable.h.

◆ commit()

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

Definition at line 184 of file HashTable.h.

◆ empty()

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

Definition at line 212 of file HashTable.h.

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

Referenced by llvm::pdb::HashTable< llvm::support::detail::packed_endian_specific_integral >::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 259 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 120 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 254 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 113 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: