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 #pragma once
#include <memory> #include <memory>
#include <span>
#include <string> #include <string>
#include <folly/Range.h>
#include "dwarfs/fstypes.h" #include "dwarfs/fstypes.h"
namespace dwarfs { namespace dwarfs {
@ -46,7 +45,9 @@ class fs_section {
std::string description() const { return impl_->description(); } std::string description() const { return impl_->description(); }
bool check_fast(mmif const& mm) const { return impl_->check_fast(mm); } bool check_fast(mmif const& mm) const { return impl_->check_fast(mm); }
bool verify(mmif const& mm) const { return impl_->verify(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(); } size_t end() const { return start() + length(); }
@ -62,7 +63,7 @@ class fs_section {
virtual std::string description() const = 0; virtual std::string description() const = 0;
virtual bool check_fast(mmif const& mm) const = 0; virtual bool check_fast(mmif const& mm) const = 0;
virtual bool verify(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: 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 check_fast(mmif const&) const override { return true; }
bool verify(mmif const&) const override { return true; } bool verify(mmif const&) const override { return true; }
folly::ByteRange data(mmif const& mm) const override { std::span<uint8_t const> data(mmif const& mm) const override {
return folly::ByteRange(mm.as<uint8_t>(start_), hdr_.length); return mm.span(start_, hdr_.length);
} }
private: private:
@ -140,8 +140,8 @@ class fs_section_v2 : public fs_section::impl {
sizeof(hdr_.sha2_512_256)); sizeof(hdr_.sha2_512_256));
} }
folly::ByteRange data(mmif const& mm) const override { std::span<uint8_t const> data(mmif const& mm) const override {
return folly::ByteRange(mm.as<uint8_t>(start_), hdr_.length); return mm.span(start_, hdr_.length);
} }
private: 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); } 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); return section().data(mm);
} }