LLDB mainline
lldb_private::Range< B, S > Struct Template Reference

#include <RangeMap.h>

Inheritance diagram for lldb_private::Range< B, S >:
[legend]

Public Types

typedef B BaseType
typedef S SizeType

Public Member Functions

 Range ()
 Range (BaseType b, SizeType s)
void Clear (BaseType b=0)
BaseType GetRangeBase () const
void SetRangeBase (BaseType b)
 Set the start value for the range, and keep the same size.
void Slide (BaseType slide)
void ShrinkFront (S s)
bool Union (const Range &rhs)
Range Intersect (const Range &rhs) const
BaseType GetRangeEnd () const
void SetRangeEnd (BaseType end)
SizeType GetByteSize () const
void SetByteSize (SizeType s)
bool IsValid () const
bool Contains (BaseType r) const
bool ContainsEndInclusive (BaseType r) const
bool Contains (const Range &range) const
bool DoesAdjoinOrIntersect (const Range &rhs) const
bool DoesIntersect (const Range &rhs) const
bool operator< (const Range &rhs) const
bool operator== (const Range &rhs) const
bool operator!= (const Range &rhs) const

Public Attributes

BaseType base
SizeType size

Detailed Description

template<typename B, typename S>
struct lldb_private::Range< B, S >

Definition at line 29 of file RangeMap.h.

Member Typedef Documentation

◆ BaseType

template<typename B, typename S>
typedef B lldb_private::Range< B, S >::BaseType

Definition at line 30 of file RangeMap.h.

◆ SizeType

template<typename B, typename S>
typedef S lldb_private::Range< B, S >::SizeType

Definition at line 31 of file RangeMap.h.

Constructor & Destructor Documentation

◆ Range() [1/2]

◆ Range() [2/2]

template<typename B, typename S>
lldb_private::Range< B, S >::Range ( BaseType b,
SizeType s )
inline

Definition at line 38 of file RangeMap.h.

Member Function Documentation

◆ Clear()

template<typename B, typename S>
void lldb_private::Range< B, S >::Clear ( BaseType b = 0)
inline

◆ Contains() [1/2]

◆ Contains() [2/2]

template<typename B, typename S>
bool lldb_private::Range< B, S >::Contains ( const Range< B, S > & range) const
inline

Definition at line 101 of file RangeMap.h.

◆ ContainsEndInclusive()

template<typename B, typename S>
bool lldb_private::Range< B, S >::ContainsEndInclusive ( BaseType r) const
inline

Definition at line 97 of file RangeMap.h.

Referenced by lldb_private::Range< uint32_t, uint32_t >::Contains().

◆ DoesAdjoinOrIntersect()

◆ DoesIntersect()

template<typename B, typename S>
bool lldb_private::Range< B, S >::DoesIntersect ( const Range< B, S > & rhs) const
inline

◆ GetByteSize()

◆ GetRangeBase()

template<typename B, typename S>
BaseType lldb_private::Range< B, S >::GetRangeBase ( ) const
inline

Definition at line 45 of file RangeMap.h.

Referenced by ProcessElfCore::AddAddressRangeFromLoadSegment(), lldb_private::Process::AddInvalidMemoryRegion(), lldb_private::plugin::dwarf::SymbolFileDWARFDebugMap::AddOSOARanges(), lldb_private::Block::AddRange(), AddRegion(), lldb_private::RangeDataVector< lldb::addr_t, lldb::addr_t, DWARFExpression, 0, DWARFExpressionCompare >::BaseLessThan(), lldb_private::RangeVector< int32_t, uint32_t, 1 >::BaseLessThan(), lldb_private::plugin::dwarf::DWARFCompileUnit::BuildAddressRangeTable(), lldb_private::minidump::ProcessMinidump::BuildMemoryRegions(), lldb_private::Range< uint32_t, uint32_t >::Contains(), lldb_private::Range< uint32_t, uint32_t >::Contains(), lldb_private::Range< uint32_t, uint32_t >::ContainsEndInclusive(), CreateCoreFileMemoryRange(), ProcessMachCore::CreateMemoryRegions(), lldb_private::Range< uint32_t, uint32_t >::DoesAdjoinOrIntersect(), CommandObjectMemoryTagWrite::DoExecute(), ProcessElfCore::DoGetMemoryRegionInfo(), ProcessMachCore::DoGetMemoryRegionInfo(), ProcessElfCore::DoReadMemory(), ProcessMachCore::DoReadMemory(), lldb_private::Block::Dump(), lldb_private::plugin::dwarf::DWARFDebugAranges::Dump(), lldb_private::Block::DumpAddressRanges(), lldb_private::DWARFExpressionList::DumpLocations(), CommandObjectMemoryRegion::DumpRegion(), lldb_private::MemoryTagManagerAArch64MTE::ExpandToGranule(), lldb_private::plugin::dwarf::SymbolFileDWARFDebugMap::FinalizeOSOFileRanges(), lldb_private::IRMemoryMap::FindSpace(), lldb_private::process_gdb_remote::ProcessGDBRemote::FlashErase(), lldb_private::LineTable::GetContiguousFileAddressRanges(), lldb_private::Block::GetDescription(), lldb_private::DWARFExpressionList::GetDescription(), lldb_private::process_freebsd::NativeProcessFreeBSD::GetMemoryRegionInfo(), lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::GetMemoryRegionInfo(), lldb_private::process_linux::NativeProcessLinux::GetMemoryRegionInfo(), lldb_private::process_netbsd::NativeProcessNetBSD::GetMemoryRegionInfo(), lldb_private::Block::GetRangeContainingAddress(), lldb_private::MemoryTagMap::GetTags(), ObjectFileMachO::GetThreadContextAtIndex(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::Handle_qMemoryRegionInfo(), lldb_private::Symtab::InitAddressIndexes(), lldb_private::Range< uint32_t, uint32_t >::Intersect(), lldb_private::LineTable::LinkLineTable(), lldb_private::plugin::dwarf::SymbolFileDWARFDebugMap::LinkOSOAddress(), lldb_private::plugin::dwarf::SymbolFileDWARFDebugMap::LinkOSOFileAddress(), ProcessMachCore::LoadBinariesViaExhaustiveSearch(), ProcessMachCore::LoadBinaryViaLowmemUUID(), DynamicLoaderPOSIXDYLD::LoadModuleAtAddress(), lldb_private::MemoryTagManagerAArch64MTE::MakeTaggedRange(), lldb_private::MemoryTagManagerAArch64MTE::MakeTaggedRanges(), lldb_private::operator<(), lldb_private::operator<(), lldb_private::npdb::SymbolFileNativePDB::ParseLineTable(), lldb_private::MemoryCache::Read(), lldb_private::process_linux::NativeProcessLinux::ReadMemoryTags(), ProcessElfCore::ReadMemoryTags(), lldb_private::Process::RemoveInvalidMemoryRange(), lldb_private::MemoryCache::RemoveInvalidRange(), and lldb_private::process_linux::NativeProcessLinux::WriteMemoryTags().

◆ GetRangeEnd()

template<typename B, typename S>
BaseType lldb_private::Range< B, S >::GetRangeEnd ( ) const
inline

Definition at line 78 of file RangeMap.h.

Referenced by ProcessElfCore::AddAddressRangeFromLoadSegment(), lldb_private::plugin::dwarf::SymbolFileDWARFDebugMap::AddOSOARanges(), lldb_private::Block::AddRange(), MinidumpFileBuilder::AddThreadList(), lldb_private::plugin::dwarf::DWARFCompileUnit::BuildAddressRangeTable(), lldb_private::minidump::ProcessMinidump::BuildMemoryRegions(), lldb_private::RangeDataVector< lldb::addr_t, lldb::addr_t, DWARFExpression, 0, DWARFExpressionCompare >::CombineConsecutiveEntriesWithEqualData(), lldb_private::RangeVector< int32_t, uint32_t, 1 >::CombineConsecutiveRanges(), lldb_private::Range< uint32_t, uint32_t >::Contains(), lldb_private::Range< uint32_t, uint32_t >::Contains(), lldb_private::Range< uint32_t, uint32_t >::ContainsEndInclusive(), ProcessMachCore::CreateMemoryRegions(), lldb_private::Range< uint32_t, uint32_t >::DoesAdjoinOrIntersect(), CommandObjectMemoryRegion::DoExecute(), ProcessElfCore::DoGetMemoryRegionInfo(), ProcessMachCore::DoGetMemoryRegionInfo(), ProcessElfCore::DoReadMemory(), ProcessMachCore::DoReadMemory(), lldb_private::process_gdb_remote::ProcessGDBRemote::DoWriteMemory(), lldb_private::Block::Dump(), lldb_private::plugin::dwarf::DWARFDebugAranges::Dump(), lldb_private::Block::DumpAddressRanges(), lldb_private::DWARFExpressionList::DumpLocations(), CommandObjectMemoryRegion::DumpRegion(), lldb_private::plugin::dwarf::SymbolFileDWARFDebugMap::FinalizeOSOFileRanges(), lldb_private::RangeDataVector< lldb::addr_t, lldb::addr_t, DWARFExpression, 0, DWARFExpressionCompare >::FindEntryThatContainsOrFollows(), lldb_private::Process::FindInMemory(), lldb_private::IRMemoryMap::FindSpace(), lldb_private::process_gdb_remote::ProcessGDBRemote::FlashErase(), lldb_private::Block::GetDescription(), lldb_private::DWARFExpressionList::GetDescription(), lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::GetMemoryRegionInfo(), lldb_private::Process::GetMemoryRegions(), lldb_private::MemoryTagMap::GetTags(), lldb_private::Range< uint32_t, uint32_t >::Intersect(), lldb_private::LineTable::LinkLineTable(), ProcessMachCore::LoadBinariesViaExhaustiveSearch(), ProcessMachCore::LoadBinaryViaLowmemUUID(), lldb_private::MemoryTagManagerAArch64MTE::MakeTaggedRange(), lldb_private::MemoryTagManagerAArch64MTE::MakeTaggedRanges(), lldb_private::ProcessDebugger::ReadMemory(), ProcessElfCore::ReadMemoryTags(), lldb_private::AllocatedBlock::ReserveBlock(), SaveOffRegionsWithStackPointers(), and lldb_private::Range< uint32_t, uint32_t >::Union().

◆ Intersect()

template<typename B, typename S>
Range lldb_private::Range< B, S >::Intersect ( const Range< B, S > & rhs) const
inline

◆ IsValid()

◆ operator!=()

template<typename B, typename S>
bool lldb_private::Range< B, S >::operator!= ( const Range< B, S > & rhs) const
inline

Definition at line 131 of file RangeMap.h.

◆ operator<()

template<typename B, typename S>
bool lldb_private::Range< B, S >::operator< ( const Range< B, S > & rhs) const
inline

Definition at line 121 of file RangeMap.h.

◆ operator==()

template<typename B, typename S>
bool lldb_private::Range< B, S >::operator== ( const Range< B, S > & rhs) const
inline

Definition at line 127 of file RangeMap.h.

◆ SetByteSize()

◆ SetRangeBase()

template<typename B, typename S>
void lldb_private::Range< B, S >::SetRangeBase ( BaseType b)
inline

Set the start value for the range, and keep the same size.

Definition at line 48 of file RangeMap.h.

Referenced by AddSectionsToRangeMap(), CreateRegionsCacheFromMemoryInfoList(), CreateRegionsCacheFromMemoryList(), ProcessElfCore::DoGetMemoryRegionInfo(), ProcessMachCore::DoGetMemoryRegionInfo(), lldb_private::process_gdb_remote::ProcessGDBRemote::FlashErase(), lldb_private::LineTable::GetContiguousFileAddressRanges(), ObjectFileMachO::GetEncryptedFileRanges(), lldb_private::minidump::MinidumpParser::GetMemoryRegionInfo(), lldb_private::process_freebsd::NativeProcessFreeBSD::GetMemoryRegionInfo(), lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::GetMemoryRegionInfo(), lldb_private::process_linux::NativeProcessLinux::GetMemoryRegionInfo(), lldb_private::process_netbsd::NativeProcessNetBSD::GetMemoryRegionInfo(), lldb_private::ProcessDebugger::GetMemoryRegionInfo(), ObjectFileMachO::GetNumThreadContexts(), lldb_private::Symtab::InitAddressIndexes(), lldb_private::Range< uint32_t, uint32_t >::Intersect(), lldb_private::process_gdb_remote::GDBRemoteCommunicationClient::LoadQXferMemoryMap(), lldb_private::MemoryTagManagerAArch64MTE::MakeTaggedRange(), lldb_private::MemoryTagManagerAArch64MTE::MakeTaggedRanges(), lldb_private::npdb::SymbolFileNativePDB::ParseLineTable(), ParseMemoryRegionInfoFromProcMapsLine(), lldb_private::process_freebsd::NativeProcessFreeBSD::PopulateMemoryRegionCache(), lldb_private::process_netbsd::NativeProcessNetBSD::PopulateMemoryRegionCache(), and SaveOffRegionsWithStackPointers().

◆ SetRangeEnd()

◆ ShrinkFront()

template<typename B, typename S>
void lldb_private::Range< B, S >::ShrinkFront ( S s)
inline

Definition at line 52 of file RangeMap.h.

◆ Slide()

template<typename B, typename S>
void lldb_private::Range< B, S >::Slide ( BaseType slide)
inline

Definition at line 50 of file RangeMap.h.

◆ Union()

template<typename B, typename S>
bool lldb_private::Range< B, S >::Union ( const Range< B, S > & rhs)
inline

Definition at line 57 of file RangeMap.h.

Member Data Documentation

◆ base

◆ size


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