File indexing completed on 2026-05-10 08:42:44
0001
0002
0003
0004
0005
0006
0007
0008
0009 #ifndef LLDB_CORE_ADDRESSRANGELISTIMPL_H
0010 #define LLDB_CORE_ADDRESSRANGELISTIMPL_H
0011
0012 #include "lldb/Core/AddressRange.h"
0013 #include <cstddef>
0014
0015 namespace lldb {
0016 class SBAddressRangeList;
0017 class SBBlock;
0018 class SBProcess;
0019 }
0020
0021 namespace lldb_private {
0022
0023 class AddressRangeListImpl {
0024 public:
0025 AddressRangeListImpl();
0026
0027 explicit AddressRangeListImpl(AddressRanges ranges)
0028 : m_ranges(std::move(ranges)) {}
0029
0030 size_t GetSize() const;
0031
0032 void Reserve(size_t capacity);
0033
0034 void Append(const AddressRange &sb_region);
0035
0036 void Append(const AddressRangeListImpl &list);
0037
0038 void Clear();
0039
0040 lldb_private::AddressRange GetAddressRangeAtIndex(size_t index);
0041
0042 private:
0043 friend class lldb::SBAddressRangeList;
0044 friend class lldb::SBBlock;
0045 friend class lldb::SBProcess;
0046
0047 AddressRanges &ref();
0048
0049 AddressRanges m_ranges;
0050 };
0051
0052 }
0053
0054 #endif