15 std::unique_ptr<const PatchInterface> parent);
17 void copyBlock(
size_t src, std::span<uint8_t> dst)
const override;
18 [[nodiscard]]
size_t getSize()
const override {
return size; }
19 [[nodiscard]] std::vector<Filename>
getFilenames()
const override;
23 Chunk(
size_t s, std::vector<uint8_t>&& c)
24 : startAddress(s), content(
std::move(c)) {}
27 std::vector<uint8_t> content;
29 [[nodiscard]]
size_t size()
const {
return content.size(); }
30 [[nodiscard]]
size_t stopAddress()
const {
return startAddress +
size(); }
31 [[nodiscard]]
auto begin()
const {
return content.begin(); }
32 [[nodiscard]]
auto end ()
const {
return content.end(); }
36 const std::unique_ptr<const PatchInterface> parent;
37 const std::vector<Chunk> chunks;
42 [[nodiscard]] std::vector<Chunk> parseChunks()
const;
43 [[nodiscard]]
size_t calcSize()
const;