Rearrange project files.

This commit is contained in:
2026-08-06 20:16:40 +01:00
parent 9841c2cf15
commit 0720a254a3
22 changed files with 16 additions and 70 deletions
+9
View File
@@ -0,0 +1,9 @@
#pragma once
#include "../shard.h"
#include "pch.h"
enum struct Direction : uint8_t {
Forward,
Backward
};
+20
View File
@@ -0,0 +1,20 @@
#pragma once
#include "../shard.h"
#include "pch.h"
#include "petal.h"
struct LineIterator {
PetalIterator it;
const char *chunk;
uint64_t len;
Direction dir;
uint64_t current_offset = 0;
uint64_t last_line_offset = 0;
LineIterator(Shard *root, uint64_t line_num, Direction dir);
~LineIterator() = default;
bool next(std::string *line);
uint64_t byte_offset();
};
+27
View File
@@ -0,0 +1,27 @@
#pragma once
#include "../shard.h"
#include "iter.h"
#include "pch.h"
struct PetalIterator {
Direction dir;
Shard *root = nullptr;
std::vector<Shard *> stack;
Petal *petal = nullptr;
uint64_t global_offset = 0;
uint64_t last_offset = 0;
uint64_t petal_offset = 0;
uint64_t global_line = 0;
PetalIterator(Shard *r, Direction dir);
~PetalIterator() = default;
void seek_offset(uint64_t offset);
void seek_line(uint64_t offset);
bool next(const char **data, uint64_t *out_len);
uint64_t byte_offset();
private:
Petal *_next(uint64_t *offset);
};