summaryrefslogtreecommitdiff
path: root/src/database/include/table_reader.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/database/include/table_reader.hpp')
-rw-r--r--src/database/include/table_reader.hpp53
1 files changed, 0 insertions, 53 deletions
diff --git a/src/database/include/table_reader.hpp b/src/database/include/table_reader.hpp
deleted file mode 100644
index 9f7cc4ee..00000000
--- a/src/database/include/table_reader.hpp
+++ /dev/null
@@ -1,53 +0,0 @@
-#pragma once
-
-#include <string>
-
-#include "result.hpp"
-#include "span.hpp"
-
-#include "table.hpp"
-
-namespace database {
-
-class TableReader {
- public:
- enum ReadError {
- OUT_OF_RANGE,
- IO_ERROR,
- PARSE_ERROR,
- };
-
- auto ReadEntryAtIndex(Index_t index) -> cpp::result<DatabaseEntry, ReadError>;
-
- template <typename T>
- auto ReadColumnOffsetAtIndex(Column<T> col, Index_t index)
- -> cpp::result<IndexOffset_t, ReadError>;
-
- template <typename T>
- auto ParseColumnAtIndex(Column<T> col, Index_t index)
- -> cpp::result<T, ReadError> {
- return ReadColumnOffsetAtIndex(col, index).map([&](IndexOffset_t offset) {
- return ReadColumnAtOffset(col, offset);
- });
- }
-
- template <typename T>
- auto ParseColumnAtOffset(Column<T> col, IndexOffset_t offset)
- -> cpp::result<T, ReadError> {
- return ReadDataAtOffset(col.Filename(), offset)
- .flat_map([&](cpp::span<std::byte> data) {
- auto res = = col.ParseValue(data);
- if (res) {
- return *res;
- } else {
- return cpp::fail(PARSE_ERROR);
- }
- });
- }
-
- private:
- auto ReadDataAtOffset(std::string filename, IndexOffset_t offset)
- -> cpp::span<std::byte>;
-};
-
-} // namespace database