LLDB mainline
AddressRangeListImpl.cpp
Go to the documentation of this file.
1//===-- AddressRangeListImpl.cpp ------------------------------------------===//
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
10
11using namespace lldb;
12using namespace lldb_private;
13
15
18 if (this == &rhs)
19 return *this;
20 m_ranges = rhs.m_ranges;
21 return *this;
22}
23
24size_t AddressRangeListImpl::GetSize() const { return m_ranges.size(); }
25
26void AddressRangeListImpl::Reserve(size_t capacity) {
27 m_ranges.reserve(capacity);
28}
29
31 m_ranges.emplace_back(sb_region);
32}
33
35 Reserve(GetSize() + list.GetSize());
36
37 for (const auto &range : list.m_ranges)
38 Append(range);
39}
40
42
45 if (index >= GetSize())
46 return AddressRange();
47 return m_ranges[index];
48}
49
lldb_private::AddressRange GetAddressRangeAtIndex(size_t index)
AddressRangeListImpl & operator=(const AddressRangeListImpl &rhs)
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