Make append buffer contiguous and update iterators

This commit is contained in:
2026-08-06 19:39:59 +01:00
parent 5722731c6a
commit 189b9ab6ca
19 changed files with 463 additions and 506 deletions
+7 -9
View File
@@ -1,22 +1,20 @@
#pragma once
#include "../shard.h"
#include "chunk.h"
#include "pch.h"
#include "petal.h"
struct LineIterator {
ChunkIterator it;
Direction dir;
PetalIterator it;
const char *chunk;
uint64_t len;
uint64_t offset = 0;
uint64_t chunk_offset = 0;
bool at_end = false;
Direction dir;
uint64_t current_offset = 0;
uint64_t last_line_offset = 0;
LineIterator(Shard *r, uint64_t start_line, Direction dir);
LineIterator(Shard *root, uint64_t line_num, Direction dir);
~LineIterator() = default;
bool next(std::string &line);
bool next(std::string *line);
uint64_t byte_offset();
};