LLDB mainline
Classes | Public Types | Public Member Functions | Private Member Functions | Private Attributes | List of all members
lldb_private::CFBasicHash Class Reference

#include <CFBasicHash.h>

Classes

struct  __CFBasicHash
 

Public Types

enum class  HashType { set = 0 , dict }
 

Public Member Functions

 CFBasicHash ()=default
 
 ~CFBasicHash ()=default
 
bool Update (lldb::addr_t addr, ExecutionContextRef exe_ctx_rf)
 
bool IsValid () const
 
bool IsMutable () const
 
bool IsMultiVariant () const
 
HashType GetType () const
 
size_t GetCount () const
 
lldb::addr_t GetKeyPointer () const
 
lldb::addr_t GetValuePointer () const
 

Private Member Functions

template<typename T >
bool UpdateFor (std::unique_ptr< __CFBasicHash< T > > &m_ht)
 
size_t GetPointerCount () const
 

Private Attributes

uint32_t m_ptr_size = UINT32_MAX
 
lldb::ByteOrder m_byte_order = lldb::eByteOrderInvalid
 
Address m_address = LLDB_INVALID_ADDRESS
 
std::unique_ptr< __CFBasicHash< uint32_t > > m_ht_32 = nullptr
 
std::unique_ptr< __CFBasicHash< uint64_t > > m_ht_64 = nullptr
 
ExecutionContextRef m_exe_ctx_ref
 
bool m_mutable = true
 
bool m_multi = false
 
HashType m_type = HashType::set
 

Detailed Description

Definition at line 17 of file CFBasicHash.h.

Member Enumeration Documentation

◆ HashType

Enumerator
set 
dict 

Definition at line 19 of file CFBasicHash.h.

Constructor & Destructor Documentation

◆ CFBasicHash()

lldb_private::CFBasicHash::CFBasicHash ( )
default

◆ ~CFBasicHash()

lldb_private::CFBasicHash::~CFBasicHash ( )
default

Member Function Documentation

◆ GetCount()

size_t CFBasicHash::GetCount ( ) const

◆ GetKeyPointer()

addr_t CFBasicHash::GetKeyPointer ( ) const

Definition at line 96 of file CFBasicHash.cpp.

References IsValid(), LLDB_INVALID_ADDRESS, m_ht_32, m_ht_64, and m_ptr_size.

◆ GetPointerCount()

size_t CFBasicHash::GetPointerCount ( ) const
private

Definition at line 87 of file CFBasicHash.cpp.

References dict, IsValid(), m_multi, and m_type.

Referenced by UpdateFor().

◆ GetType()

HashType lldb_private::CFBasicHash::GetType ( ) const
inline

Definition at line 30 of file CFBasicHash.h.

References m_type.

◆ GetValuePointer()

addr_t CFBasicHash::GetValuePointer ( ) const

Definition at line 106 of file CFBasicHash.cpp.

References IsValid(), LLDB_INVALID_ADDRESS, m_ht_32, m_ht_64, and m_ptr_size.

◆ IsMultiVariant()

bool lldb_private::CFBasicHash::IsMultiVariant ( ) const
inline

Definition at line 29 of file CFBasicHash.h.

References m_multi.

◆ IsMutable()

bool lldb_private::CFBasicHash::IsMutable ( ) const
inline

Definition at line 28 of file CFBasicHash.h.

References m_mutable.

◆ IsValid()

bool CFBasicHash::IsValid ( ) const

◆ Update()

bool CFBasicHash::Update ( lldb::addr_t  addr,
ExecutionContextRef  exe_ctx_rf 
)

◆ UpdateFor()

template<typename T >
bool CFBasicHash::UpdateFor ( std::unique_ptr< __CFBasicHash< T > > &  m_ht)
private

Member Data Documentation

◆ m_address

Address lldb_private::CFBasicHash::m_address = LLDB_INVALID_ADDRESS
private

Definition at line 65 of file CFBasicHash.h.

Referenced by IsValid(), Update(), and UpdateFor().

◆ m_byte_order

lldb::ByteOrder lldb_private::CFBasicHash::m_byte_order = lldb::eByteOrderInvalid
private

Definition at line 64 of file CFBasicHash.h.

Referenced by Update(), and UpdateFor().

◆ m_exe_ctx_ref

ExecutionContextRef lldb_private::CFBasicHash::m_exe_ctx_ref
private

Definition at line 68 of file CFBasicHash.h.

Referenced by Update(), and UpdateFor().

◆ m_ht_32

std::unique_ptr<__CFBasicHash<uint32_t> > lldb_private::CFBasicHash::m_ht_32 = nullptr
private

Definition at line 66 of file CFBasicHash.h.

Referenced by GetCount(), GetKeyPointer(), GetValuePointer(), IsValid(), and Update().

◆ m_ht_64

std::unique_ptr<__CFBasicHash<uint64_t> > lldb_private::CFBasicHash::m_ht_64 = nullptr
private

Definition at line 67 of file CFBasicHash.h.

Referenced by GetCount(), GetKeyPointer(), GetValuePointer(), IsValid(), and Update().

◆ m_multi

bool lldb_private::CFBasicHash::m_multi = false
private

Definition at line 70 of file CFBasicHash.h.

Referenced by GetCount(), GetPointerCount(), IsMultiVariant(), and UpdateFor().

◆ m_mutable

bool lldb_private::CFBasicHash::m_mutable = true
private

Definition at line 69 of file CFBasicHash.h.

Referenced by IsMutable(), and UpdateFor().

◆ m_ptr_size

uint32_t lldb_private::CFBasicHash::m_ptr_size = UINT32_MAX
private

Definition at line 63 of file CFBasicHash.h.

Referenced by GetCount(), GetKeyPointer(), GetValuePointer(), IsValid(), and Update().

◆ m_type

HashType lldb_private::CFBasicHash::m_type = HashType::set
private

Definition at line 71 of file CFBasicHash.h.

Referenced by GetPointerCount(), GetType(), and UpdateFor().


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