1 //===-- SBMemoryRegionInfoList.h --------------------------------*- C++ -*-===//
3 // The LLVM Compiler Infrastructure
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
8 //===----------------------------------------------------------------------===//
10 #ifndef LLDB_SBMemoryRegionInfoList_h_
11 #define LLDB_SBMemoryRegionInfoList_h_
13 #include "lldb/API/SBDefines.h"
15 class MemoryRegionInfoListImpl;
19 class LLDB_API SBMemoryRegionInfoList {
21 SBMemoryRegionInfoList();
23 SBMemoryRegionInfoList(const lldb::SBMemoryRegionInfoList &rhs);
25 const SBMemoryRegionInfoList &operator=(const SBMemoryRegionInfoList &rhs);
27 ~SBMemoryRegionInfoList();
29 uint32_t GetSize() const;
31 bool GetMemoryRegionAtIndex(uint32_t idx, SBMemoryRegionInfo ®ion_info);
33 void Append(lldb::SBMemoryRegionInfo ®ion);
35 void Append(lldb::SBMemoryRegionInfoList ®ion_list);
40 const MemoryRegionInfoListImpl *operator->() const;
42 const MemoryRegionInfoListImpl &operator*() const;
45 friend class SBProcess;
47 lldb_private::MemoryRegionInfos &ref();
49 const lldb_private::MemoryRegionInfos &ref() const;
51 std::unique_ptr<MemoryRegionInfoListImpl> m_opaque_ap;
56 #endif // LLDB_SBMemoryRegionInfoList_h_