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 142 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 146 of file MappedHash.h.

◆ HeaderType

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

Definition at line 144 of file MappedHash.h.

◆ KeyType

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

Definition at line 145 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 148 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 163 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 206 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 285 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

Definition at line 199 of file MappedHash.h.

◆ GetHashIndex()

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

Definition at line 185 of file MappedHash.h.

◆ GetHashValue()

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

Definition at line 192 of file MappedHash.h.

◆ GetHeader()

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

Definition at line 283 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

Definition at line 179 of file MappedHash.h.

◆ 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

Definition at line 304 of file MappedHash.h.

◆ m_hash_offsets

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

Definition at line 306 of file MappedHash.h.

◆ m_hash_values

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

Definition at line 305 of file MappedHash.h.

◆ m_header

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

Definition at line 303 of file MappedHash.h.


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