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
16size_t AddressRangeListImpl::GetSize() const { return m_ranges.size(); }
17
18void AddressRangeListImpl::Reserve(size_t capacity) {
19 m_ranges.reserve(capacity);
20}
21
23 m_ranges.emplace_back(sb_region);
24}
25
27 Reserve(GetSize() + list.GetSize());
28
29 for (const auto &range : list.m_ranges)
30 Append(range);
31}
32
34
37 if (index >= GetSize())
38 return AddressRange();
39 return m_ranges[index];
40}
41
lldb_private::AddressRange GetAddressRangeAtIndex(size_t index)
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