brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.2 KiB · 257824a Raw
43 lines · cpp
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-exception6//7//===----------------------------------------------------------------------===//8 9#include "lldb/Core/AddressRangeListImpl.h"10 11using namespace lldb;12using namespace lldb_private;13 14AddressRangeListImpl::AddressRangeListImpl() : m_ranges() {}15 16size_t AddressRangeListImpl::GetSize() const { return m_ranges.size(); }17 18void AddressRangeListImpl::Reserve(size_t capacity) {19  m_ranges.reserve(capacity);20}21 22void AddressRangeListImpl::Append(const AddressRange &sb_region) {23  m_ranges.emplace_back(sb_region);24}25 26void AddressRangeListImpl::Append(const AddressRangeListImpl &list) {27  Reserve(GetSize() + list.GetSize());28 29  for (const auto &range : list.m_ranges)30    Append(range);31}32 33void AddressRangeListImpl::Clear() { m_ranges.clear(); }34 35lldb_private::AddressRange36AddressRangeListImpl::GetAddressRangeAtIndex(size_t index) {37  if (index >= GetSize())38    return AddressRange();39  return m_ranges[index];40}41 42AddressRanges &AddressRangeListImpl::ref() { return m_ranges; }43