LLVM  7.0.0svn
Classes | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
llvm::pdb::HashTable< ValueT, TraitsT > Class Template Reference

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

Inheritance diagram for llvm::pdb::HashTable< ValueT, TraitsT >:
Inheritance graph
[legend]
Collaboration diagram for llvm::pdb::HashTable< ValueT, TraitsT >:
Collaboration graph
[legend]

Public Member Functions

 HashTable ()
 
 HashTable (TraitsT Traits)
 
 HashTable (uint32_t Capacity, TraitsT Traits)
 
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
 
iterator begin () const
 
iterator end () const
 
template<typename Key >
iterator find_as (const Key &K) const
 Find the entry whose key has the specified hash value, using the specified traits defining hash function and equality. More...
 
template<typename Key >
bool set_as (const Key &K, ValueT V)
 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 >
ValueT get (const Key &K) const
 

Protected Member Functions

bool isPresent (uint32_t K) const
 
bool isDeleted (uint32_t K) const
 

Protected Attributes

TraitsT Traits
 
BucketList Buckets
 
SparseBitVector Present
 
SparseBitVector Deleted
 

Detailed Description

template<typename ValueT, typename TraitsT = PdbHashTraits<ValueT>>
class llvm::pdb::HashTable< ValueT, TraitsT >

Definition at line 35 of file HashTable.h.

Constructor & Destructor Documentation

◆ HashTable() [1/3]

template<typename ValueT, typename TraitsT = PdbHashTraits<ValueT>>
llvm::pdb::HashTable< ValueT, TraitsT >::HashTable ( )
inline

Definition at line 117 of file HashTable.h.

◆ HashTable() [2/3]

template<typename ValueT, typename TraitsT = PdbHashTraits<ValueT>>
llvm::pdb::HashTable< ValueT, TraitsT >::HashTable ( TraitsT  Traits)
inlineexplicit

Definition at line 119 of file HashTable.h.

◆ HashTable() [3/3]

template<typename ValueT, typename TraitsT = PdbHashTraits<ValueT>>
llvm::pdb::HashTable< ValueT, TraitsT >::HashTable ( uint32_t  Capacity,
TraitsT  Traits 
)
inline

Definition at line 120 of file HashTable.h.

Member Function Documentation

◆ begin()

template<typename ValueT, typename TraitsT = PdbHashTraits<ValueT>>
iterator llvm::pdb::HashTable< ValueT, TraitsT >::begin ( ) const
inline

Definition at line 220 of file HashTable.h.

◆ calculateSerializedLength()

template<typename ValueT, typename TraitsT = PdbHashTraits<ValueT>>
uint32_t llvm::pdb::HashTable< ValueT, TraitsT >::calculateSerializedLength ( ) const
inline

Definition at line 161 of file HashTable.h.

◆ capacity()

template<typename ValueT, typename TraitsT = PdbHashTraits<ValueT>>
uint32_t llvm::pdb::HashTable< ValueT, TraitsT >::capacity ( ) const
inline

Definition at line 217 of file HashTable.h.

◆ clear()

template<typename ValueT, typename TraitsT = PdbHashTraits<ValueT>>
void llvm::pdb::HashTable< ValueT, TraitsT >::clear ( )
inline

Definition at line 210 of file HashTable.h.

◆ commit()

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

Definition at line 188 of file HashTable.h.

◆ empty()

template<typename ValueT, typename TraitsT = PdbHashTraits<ValueT>>
bool llvm::pdb::HashTable< ValueT, TraitsT >::empty ( ) const
inline

Definition at line 216 of file HashTable.h.

◆ end()

template<typename ValueT, typename TraitsT = PdbHashTraits<ValueT>>
iterator llvm::pdb::HashTable< ValueT, TraitsT >::end ( ) const
inline

Definition at line 221 of file HashTable.h.

◆ find_as()

template<typename ValueT, typename TraitsT = PdbHashTraits<ValueT>>
template<typename Key >
iterator llvm::pdb::HashTable< ValueT, TraitsT >::find_as ( const Key &  K) const
inline

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

Definition at line 225 of file HashTable.h.

◆ get()

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

Definition at line 260 of file HashTable.h.

◆ isDeleted()

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

Definition at line 268 of file HashTable.h.

◆ isPresent()

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

Definition at line 267 of file HashTable.h.

◆ load()

template<typename ValueT, typename TraitsT = PdbHashTraits<ValueT>>
Error llvm::pdb::HashTable< ValueT, TraitsT >::load ( BinaryStreamReader Stream)
inline

Definition at line 124 of file HashTable.h.

◆ set_as()

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

◆ size()

template<typename ValueT, typename TraitsT = PdbHashTraits<ValueT>>
uint32_t llvm::pdb::HashTable< ValueT, TraitsT >::size ( ) const
inline

Definition at line 218 of file HashTable.h.

Member Data Documentation

◆ Buckets

template<typename ValueT, typename TraitsT = PdbHashTraits<ValueT>>
BucketList llvm::pdb::HashTable< ValueT, TraitsT >::Buckets
protected

◆ Deleted

template<typename ValueT, typename TraitsT = PdbHashTraits<ValueT>>
SparseBitVector llvm::pdb::HashTable< ValueT, TraitsT >::Deleted
mutableprotected

Definition at line 273 of file HashTable.h.

◆ Present

template<typename ValueT, typename TraitsT = PdbHashTraits<ValueT>>
SparseBitVector llvm::pdb::HashTable< ValueT, TraitsT >::Present
mutableprotected

◆ Traits

template<typename ValueT, typename TraitsT = PdbHashTraits<ValueT>>
TraitsT llvm::pdb::HashTable< ValueT, TraitsT >::Traits
protected

Definition at line 270 of file HashTable.h.


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