From d70ec9bf447f7a46e347c3bc5ad58fd88aff46a2 Mon Sep 17 00:00:00 2001 From: jacqueline Date: Tue, 21 Nov 2023 13:49:47 +1100 Subject: Add lua functions to get database content --- src/database/include/database.hpp | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'src/database/include') diff --git a/src/database/include/database.hpp b/src/database/include/database.hpp index 544e4a62..972871db 100644 --- a/src/database/include/database.hpp +++ b/src/database/include/database.hpp @@ -183,4 +183,21 @@ auto Database::ParseRecord(const leveldb::Slice& key, const leveldb::Slice& val) -> std::shared_ptr; +/* + * Utility for accessing a large set of database records, one record at a time. + */ +class Iterator { + public: + Iterator(std::weak_ptr, const IndexInfo&); + Iterator(std::weak_ptr, const Continuation&); + + auto Prev() -> std::optional; + auto Next() -> std::optional; + + private: + std::weak_ptr db_; + std::optional prev_pos_; + std::optional current_pos_; +}; + } // namespace database -- cgit v1.2.3