initial runs
This commit is contained in:
parent
9e9260c84d
commit
918c1cba78
18 changed files with 379 additions and 356 deletions
22
include/file_reader.hpp
Normal file
22
include/file_reader.hpp
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
#pragma once
|
||||
#include "record.hpp"
|
||||
#include <fstream>
|
||||
#include <optional>
|
||||
#include <span>
|
||||
|
||||
class FileReader {
|
||||
private:
|
||||
std::ifstream stream_;
|
||||
std::vector<Record> buffer_;
|
||||
size_t current_pos_;
|
||||
size_t valid_items_;
|
||||
size_t total_reads_;
|
||||
|
||||
void refill_buffer();
|
||||
|
||||
public:
|
||||
FileReader(const std::string& filename, size_t buffer_size = 8);
|
||||
std::optional<Record> read();
|
||||
size_t read_chunk(std::span<Record>& chunk);
|
||||
size_t total_reads() const;
|
||||
};
|
||||
Loading…
Add table
Add a link
Reference in a new issue