folly::Range -> std::span in fs_section

This commit is contained in:
Marcus Holland-Moritz 2023-05-26 18:05:36 +02:00
parent eedbed42d6
commit cfa46bc4a2
2 changed files with 10 additions and 9 deletions

View File

@ -22,10 +22,9 @@
#pragma once
#include <memory>
#include <span>
#include <string>
#include <folly/Range.h>
#include "dwarfs/fstypes.h"
namespace dwarfs {
@ -46,7 +45,9 @@ class fs_section {
std::string description() const { return impl_->description(); }
bool check_fast(mmif const& mm) const { return impl_->check_fast(mm); }
bool verify(mmif const& mm) const { return impl_->verify(mm); }
folly::ByteRange data(mmif const& mm) const { return impl_->data(mm); }
std::span<uint8_t const> data(mmif const& mm) const {
return impl_->data(mm);
}
size_t end() const { return start() + length(); }
@ -62,7 +63,7 @@ class fs_section {
virtual std::string description() const = 0;
virtual bool check_fast(mmif const& mm) const = 0;
virtual bool verify(mmif const& mm) const = 0;
virtual folly::ByteRange data(mmif const& mm) const = 0;
virtual std::span<uint8_t const> data(mmif const& mm) const = 0;
};
private:

View File

@ -91,8 +91,8 @@ class fs_section_v1 : public fs_section::impl {
bool check_fast(mmif const&) const override { return true; }
bool verify(mmif const&) const override { return true; }
folly::ByteRange data(mmif const& mm) const override {
return folly::ByteRange(mm.as<uint8_t>(start_), hdr_.length);
std::span<uint8_t const> data(mmif const& mm) const override {
return mm.span(start_, hdr_.length);
}
private:
@ -140,8 +140,8 @@ class fs_section_v2 : public fs_section::impl {
sizeof(hdr_.sha2_512_256));
}
folly::ByteRange data(mmif const& mm) const override {
return folly::ByteRange(mm.as<uint8_t>(start_), hdr_.length);
std::span<uint8_t const> data(mmif const& mm) const override {
return mm.span(start_, hdr_.length);
}
private:
@ -173,7 +173,7 @@ class fs_section_v2_lazy : public fs_section::impl {
bool verify(mmif const& mm) const override { return section().verify(mm); }
folly::ByteRange data(mmif const& mm) const override {
std::span<uint8_t const> data(mmif const& mm) const override {
return section().data(mm);
}