File indexing completed on 2026-05-10 08:42:42
0001
0002
0003
0004
0005
0006
0007
0008
0009 #ifndef LLDB_API_SBMEMORYREGIONINFOLIST_H
0010 #define LLDB_API_SBMEMORYREGIONINFOLIST_H
0011
0012 #include "lldb/API/SBDefines.h"
0013
0014 class MemoryRegionInfoListImpl;
0015
0016 namespace lldb {
0017
0018 class LLDB_API SBMemoryRegionInfoList {
0019 public:
0020 SBMemoryRegionInfoList();
0021
0022 SBMemoryRegionInfoList(const lldb::SBMemoryRegionInfoList &rhs);
0023
0024 const SBMemoryRegionInfoList &operator=(const SBMemoryRegionInfoList &rhs);
0025
0026 ~SBMemoryRegionInfoList();
0027
0028 uint32_t GetSize() const;
0029
0030 bool GetMemoryRegionContainingAddress(lldb::addr_t addr,
0031 SBMemoryRegionInfo ®ion_info);
0032
0033 bool GetMemoryRegionAtIndex(uint32_t idx, SBMemoryRegionInfo ®ion_info);
0034
0035 void Append(lldb::SBMemoryRegionInfo ®ion);
0036
0037 void Append(lldb::SBMemoryRegionInfoList ®ion_list);
0038
0039 void Clear();
0040
0041 protected:
0042 const MemoryRegionInfoListImpl *operator->() const;
0043
0044 const MemoryRegionInfoListImpl &operator*() const;
0045
0046 private:
0047 friend class SBProcess;
0048
0049 lldb_private::MemoryRegionInfos &ref();
0050
0051 const lldb_private::MemoryRegionInfos &ref() const;
0052
0053 std::unique_ptr<MemoryRegionInfoListImpl> m_opaque_up;
0054 };
0055
0056 }
0057
0058 #endif