Skip to content

sgns::storage::trie::SuperGeniusTrieCursor

#include <supergenius_trie_cursor.hpp>

Inherits from sgns::storage::face::MapCursor< base::Buffer, base::Buffer >

Public Types

Name
enum class Error { INVALID_CURSOR_POSITION =
1, NOT_FOUND, NULL_ROOT, METHOD_NOT_IMPLEMENTED}
using std::shared_ptr< SuperGeniusNode > NodePtr
using std::shared_ptr< BranchNode > BranchPtr
using SuperGeniusNode::Type NodeType

Public Functions

Name
SuperGeniusTrieCursor(const SuperGeniusTrie & trie)
~SuperGeniusTrieCursor() override =default
virtual outcome::result< void > seekToFirst() override
Same as std::begin(...);.
virtual outcome::result< void > seek(const base::Buffer & key) override
Find given key and seek iterator to this key.
virtual outcome::result< void > seekToLast() override
Same as std::rbegin(...);, e.g. points to the last valid element.
virtual bool isValid() const override
Is iterator valid?
virtual outcome::result< void > next() override
Make step forward.
virtual outcome::result< void > prev() override
Make step backwards.
virtual outcome::result< base::Buffer > key() const override
Getter for key.
virtual outcome::result< base::Buffer > value() const override
Getter for value.
outcome::result< std::unique_ptr< SuperGeniusTrieCursor > > createAt(const base::Buffer & key, const SuperGeniusTrie & trie)

Additional inherited members

Public Functions inherited from sgns::storage::face::MapCursor< base::Buffer, base::Buffer >

Name
virtual ~MapCursor() =default

Public Types Documentation

enum Error

Enumerator Value Description
INVALID_CURSOR_POSITION =
1
NOT_FOUND
NULL_ROOT
METHOD_NOT_IMPLEMENTED

using NodePtr

using sgns::storage::trie::SuperGeniusTrieCursor::NodePtr = std::shared_ptr<SuperGeniusNode>;

using BranchPtr

using sgns::storage::trie::SuperGeniusTrieCursor::BranchPtr = std::shared_ptr<BranchNode>;

using NodeType

using sgns::storage::trie::SuperGeniusTrieCursor::NodeType = SuperGeniusNode::Type;

Public Functions Documentation

function SuperGeniusTrieCursor

explicit SuperGeniusTrieCursor(
    const SuperGeniusTrie & trie
)

function ~SuperGeniusTrieCursor

~SuperGeniusTrieCursor() override =default

function seekToFirst

virtual outcome::result< void > seekToFirst() override

Same as std::begin(...);.

Reimplements: sgns::storage::face::MapCursor::seekToFirst

function seek

virtual outcome::result< void > seek(
    const base::Buffer & key
) override

Find given key and seek iterator to this key.

Reimplements: sgns::storage::face::MapCursor::seek

function seekToLast

virtual outcome::result< void > seekToLast() override

Same as std::rbegin(...);, e.g. points to the last valid element.

Reimplements: sgns::storage::face::MapCursor::seekToLast

function isValid

virtual bool isValid() const override

Is iterator valid?

Return: true if iterator points to the element of map, false otherwise

Reimplements: sgns::storage::face::MapCursor::isValid

function next

virtual outcome::result< void > next() override

Make step forward.

Reimplements: sgns::storage::face::MapCursor::next

function prev

virtual outcome::result< void > prev() override

Make step backwards.

Reimplements: sgns::storage::face::MapCursor::prev

function key

virtual outcome::result< base::Buffer > key() const override

Getter for key.

Return: key

Reimplements: sgns::storage::face::MapCursor::key

function value

virtual outcome::result< base::Buffer > value() const override

Getter for value.

Return: value

Reimplements: sgns::storage::face::MapCursor::value

function createAt

static outcome::result< std::unique_ptr< SuperGeniusTrieCursor > > createAt(
    const base::Buffer & key,
    const SuperGeniusTrie & trie
)

Updated on 2026-04-15 at 11:00:39 -0700