LLDB  mainline
Classes | Public Types | Public Member Functions | Protected Attributes | List of all members
MappedHash::MemoryTable< __KeyType, __HeaderType, __HashData > Class Template Referenceabstract

#include <MappedHash.h>

Inheritance diagram for MappedHash::MemoryTable< __KeyType, __HeaderType, __HashData >:
Inheritance graph
[legend]
Collaboration diagram for MappedHash::MemoryTable< __KeyType, __HeaderType, __HashData >:
Collaboration graph
[legend]

Classes

struct  Pair
 

Public Types

enum  Result { eResultKeyMatch = 0u, eResultKeyMismatch, eResultEndOfHashData = 2u, eResultError = 3u }
 
typedef __HeaderType HeaderType
 
typedef __KeyType KeyType
 
typedef __HashData HashData
 

Public Member Functions

 MemoryTable (lldb_private::DataExtractor &data)
 
virtual ~MemoryTable ()=default
 
bool IsValid () const
 
uint32_t GetHashIndex (uint32_t bucket_idx) const
 
uint32_t GetHashValue (uint32_t hash_idx) const
 
uint32_t GetHashDataOffset (uint32_t hash_idx) const
 
bool Find (llvm::StringRef name, Pair &pair) const
 
virtual const char * GetStringForKeyType (KeyType key) const =0
 
virtual bool ReadHashData (uint32_t hash_data_offset, HashData &hash_data) const =0
 
virtual Result GetHashDataForName (llvm::StringRef name, lldb::offset_t *hash_data_offset_ptr, Pair &pair) const =0
 
const HeaderTypeGetHeader ()
 
void ForEach (std::function< bool(const HashData &hash_data)> const &callback) const
 

Protected Attributes

HeaderType m_header
 
const uint32_tm_hash_indexes
 
const uint32_tm_hash_values
 
const uint32_tm_hash_offsets
 

Detailed Description

template<typename __KeyType, class __HeaderType, class __HashData>
class MappedHash::MemoryTable< __KeyType, __HeaderType, __HashData >

Definition at line 140 of file MappedHash.h.

Member Typedef Documentation

◆ HashData

template<typename __KeyType , class __HeaderType , class __HashData >
typedef __HashData MappedHash::MemoryTable< __KeyType, __HeaderType, __HashData >::HashData

Definition at line 144 of file MappedHash.h.

◆ HeaderType

template<typename __KeyType , class __HeaderType , class __HashData >
typedef __HeaderType MappedHash::MemoryTable< __KeyType, __HeaderType, __HashData >::HeaderType

Definition at line 142 of file MappedHash.h.

◆ KeyType

template<typename __KeyType , class __HeaderType , class __HashData >
typedef __KeyType MappedHash::MemoryTable< __KeyType, __HeaderType, __HashData >::KeyType

Definition at line 143 of file MappedHash.h.

Member Enumeration Documentation

◆ Result

template<typename __KeyType , class __HeaderType , class __HashData >
enum MappedHash::MemoryTable::Result
Enumerator
eResultKeyMatch 
eResultKeyMismatch 
eResultEndOfHashData 
eResultError 

Definition at line 146 of file MappedHash.h.

Constructor & Destructor Documentation

◆ MemoryTable()

template<typename __KeyType , class __HeaderType , class __HashData >
MappedHash::MemoryTable< __KeyType, __HeaderType, __HashData >::MemoryTable ( lldb_private::DataExtractor data)
inline

Definition at line 161 of file MappedHash.h.

◆ ~MemoryTable()

template<typename __KeyType , class __HeaderType , class __HashData >
virtual MappedHash::MemoryTable< __KeyType, __HeaderType, __HashData >::~MemoryTable ( )
virtualdefault

Member Function Documentation

◆ Find()

template<typename __KeyType , class __HeaderType , class __HashData >
bool MappedHash::MemoryTable< __KeyType, __HeaderType, __HashData >::Find ( llvm::StringRef  name,
Pair pair 
) const
inline

Definition at line 204 of file MappedHash.h.

◆ ForEach()

template<typename __KeyType , class __HeaderType , class __HashData >
void MappedHash::MemoryTable< __KeyType, __HeaderType, __HashData >::ForEach ( std::function< bool(const HashData &hash_data)> const &  callback) const
inline

Definition at line 283 of file MappedHash.h.

◆ GetHashDataForName()

template<typename __KeyType , class __HeaderType , class __HashData >
virtual Result MappedHash::MemoryTable< __KeyType, __HeaderType, __HashData >::GetHashDataForName ( llvm::StringRef  name,
lldb::offset_t hash_data_offset_ptr,
Pair pair 
) const
pure virtual

◆ GetHashDataOffset()

template<typename __KeyType , class __HeaderType , class __HashData >
uint32_t MappedHash::MemoryTable< __KeyType, __HeaderType, __HashData >::GetHashDataOffset ( uint32_t  hash_idx) const
inline

◆ GetHashIndex()

template<typename __KeyType , class __HeaderType , class __HashData >
uint32_t MappedHash::MemoryTable< __KeyType, __HeaderType, __HashData >::GetHashIndex ( uint32_t  bucket_idx) const
inline

◆ GetHashValue()

template<typename __KeyType , class __HeaderType , class __HashData >
uint32_t MappedHash::MemoryTable< __KeyType, __HeaderType, __HashData >::GetHashValue ( uint32_t  hash_idx) const
inline

◆ GetHeader()

template<typename __KeyType , class __HeaderType , class __HashData >
const HeaderType& MappedHash::MemoryTable< __KeyType, __HeaderType, __HashData >::GetHeader ( )
inline

Definition at line 281 of file MappedHash.h.

◆ GetStringForKeyType()

template<typename __KeyType , class __HeaderType , class __HashData >
virtual const char* MappedHash::MemoryTable< __KeyType, __HeaderType, __HashData >::GetStringForKeyType ( KeyType  key) const
pure virtual

◆ IsValid()

template<typename __KeyType , class __HeaderType , class __HashData >
bool MappedHash::MemoryTable< __KeyType, __HeaderType, __HashData >::IsValid ( ) const
inline

◆ ReadHashData()

template<typename __KeyType , class __HeaderType , class __HashData >
virtual bool MappedHash::MemoryTable< __KeyType, __HeaderType, __HashData >::ReadHashData ( uint32_t  hash_data_offset,
HashData hash_data 
) const
pure virtual

Member Data Documentation

◆ m_hash_indexes

template<typename __KeyType , class __HeaderType , class __HashData >
const uint32_t* MappedHash::MemoryTable< __KeyType, __HeaderType, __HashData >::m_hash_indexes
protected

◆ m_hash_offsets

template<typename __KeyType , class __HeaderType , class __HashData >
const uint32_t* MappedHash::MemoryTable< __KeyType, __HeaderType, __HashData >::m_hash_offsets
protected

◆ m_hash_values

template<typename __KeyType , class __HeaderType , class __HashData >
const uint32_t* MappedHash::MemoryTable< __KeyType, __HeaderType, __HashData >::m_hash_values
protected

◆ m_header

template<typename __KeyType , class __HeaderType , class __HashData >
HeaderType MappedHash::MemoryTable< __KeyType, __HeaderType, __HashData >::m_header
protected

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