LLDB mainline
AddressRangeListImpl.h
Go to the documentation of this file.
1//===-- AddressRangeListImpl.h ----------------------------------*- C++ -*-===//
2//
3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4// See https://llvm.org/LICENSE.txt for license information.
5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6//
7//===----------------------------------------------------------------------===//
8
9#ifndef LLDB_CORE_ADDRESSRANGELISTIMPL_H
10#define LLDB_CORE_ADDRESSRANGELISTIMPL_H
11
13#include <cstddef>
14
15namespace lldb {
17class SBBlock;
18class SBProcess;
19}
20
21namespace lldb_private {
22
24public:
26
28 : m_ranges(std::move(ranges)) {}
29
30 size_t GetSize() const;
31
32 void Reserve(size_t capacity);
33
34 void Append(const AddressRange &sb_region);
35
36 void Append(const AddressRangeListImpl &list);
37
38 void Clear();
39
41
42private:
44 friend class lldb::SBBlock;
45 friend class lldb::SBProcess;
46
48
50};
51
52} // namespace lldb_private
53
54#endif // LLDB_CORE_ADDRESSRANGE_H
lldb_private::AddressRange GetAddressRangeAtIndex(size_t index)
AddressRangeListImpl(AddressRanges ranges)
void Append(const AddressRange &sb_region)
A section + offset based address range class.
Definition: AddressRange.h:25
A class that represents a running process on the host machine.
Definition: SBAddress.h:15
class LLDB_API SBBlock
Definition: SBDefines.h:49
class LLDB_API SBProcess
Definition: SBDefines.h:95
class LLDB_API SBAddressRangeList
Definition: SBDefines.h:47