LLVM  10.0.0svn
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 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

Definition at line 212 of file HashTable.h.

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

Referenced by llvm::pdb::PDBFileBuilder::getNamedStreamIndex().

◆ empty()

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

Definition at line 211 of file HashTable.h.

Referenced by llvm::pdb::PDBFileBuilder::getNamedStreamIndex().

◆ end()

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

Definition at line 216 of file HashTable.h.

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

◆ 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

Definition at line 266 of file HashTable.h.

◆ isPresent()

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

Definition at line 265 of file HashTable.h.

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

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

Definition at line 213 of file HashTable.h.

Member Data Documentation

◆ Buckets

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

Definition at line 268 of file HashTable.h.

Referenced by llvm::pdb::HashTableIterator< ValueT >::operator*().

◆ 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

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