blob: 1fe12a51fe96a4b54dfa34549f8ab7043d58b45e [file] [log] [blame]
// Copyright 2019 The Fuchsia Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "src/developer/debug/zxdb/symbols/symbol_context.h"
namespace zxdb {
AddressRange SymbolContext::RelativeToAbsolute(const AddressRange& relative) const {
return AddressRange(RelativeToAbsolute(relative.begin()), RelativeToAbsolute(relative.end()));
}
AddressRange SymbolContext::AbsoluteToRelative(const AddressRange& absolute) const {
return AddressRange(AbsoluteToRelative(absolute.begin()), AbsoluteToRelative(absolute.end()));
}
AddressRanges SymbolContext::RelativeToAbsolute(const AddressRanges& relative) const {
AddressRanges::RangeVector result;
result.reserve(relative.size());
for (const auto& range : relative)
result.push_back(RelativeToAbsolute(range));
return AddressRanges(AddressRanges::kCanonical, std::move(result));
}
AddressRanges SymbolContext::AbsoluteToRelative(const AddressRanges& absolute) const {
AddressRanges::RangeVector result;
result.reserve(absolute.size());
for (const auto& range : absolute)
result.push_back(AbsoluteToRelative(range));
return AddressRanges(AddressRanges::kCanonical, std::move(result));
}
} // namespace zxdb