Skip to content

sgns::storage::trie::TopperTrieBatchImpl

#include <topper_trie_batch_impl.hpp>

Inherits from sgns::storage::trie::TopperTrieBatch, sgns::storage::trie::TrieBatch, sgns::storage::face::Readable< Buffer, Buffer >, sgns::storage::face::Writeable< Buffer, Buffer >, sgns::storage::face::Iterable< Buffer, Buffer >

Public Types

Name
enum class Error

Public Functions

Name
TopperTrieBatchImpl(const std::shared_ptr< TrieBatch > & parent)
virtual outcome::result< Buffer > get(const Buffer & key) const override
Get value by key.
virtual std::unique_ptr< BufferMapCursor > cursor() override
virtual bool contains(const Buffer & key) const override
Returns true if given key-value binding exists in the storage.
virtual bool empty() const override
Returns true if the storage is empty.
virtual outcome::result< void > put(const Buffer & key, const Buffer & value) override
Store value by key.
outcome::result< void > put(const Buffer & key, Buffer && value) override
virtual outcome::result< void > remove(const Buffer & key) override
Remove value by key.
virtual outcome::result< void > clearPrefix(const Buffer & prefix) override
virtual outcome::result< void > writeBack() override

Additional inherited members

Public Functions inherited from sgns::storage::trie::TrieBatch

Name
~TrieBatch() override =default

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

Name
virtual ~Readable() =default

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

Name
virtual ~Writeable() =default

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

Name
virtual ~Iterable() =default

Public Types Documentation

enum Error

Enumerator Value Description
PARENT_EXPIRED 1

Public Functions Documentation

function TopperTrieBatchImpl

explicit TopperTrieBatchImpl(
    const std::shared_ptr< TrieBatch > & parent
)

function get

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

Get value by key.

Parameters:

  • key K

Return: V

Reimplements: sgns::storage::face::Readable::get

function cursor

virtual std::unique_ptr< BufferMapCursor > cursor() override

Reimplements: sgns::storage::face::Iterable::cursor

Won't consider changes not written back to the parent batch

function contains

virtual bool contains(
    const Buffer & key
) const override

Returns true if given key-value binding exists in the storage.

Parameters:

  • key K

Return: true if key has value, false otherwise.

Reimplements: sgns::storage::face::Readable::contains

function empty

virtual bool empty() const override

Returns true if the storage is empty.

Reimplements: sgns::storage::face::Readable::empty

function put

virtual outcome::result< void > put(
    const Buffer & key,
    const Buffer & value
) override

Store value by key.

Parameters:

  • key key
  • value value

Return: result containing void if put successful, error otherwise

Reimplements: sgns::storage::face::Writeable::put

function put

outcome::result< void > put(
    const Buffer & key,
    Buffer && value
) override

function remove

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

Remove value by key.

Parameters:

  • key K

Return: error code if error happened

Reimplements: sgns::storage::face::Writeable::remove

function clearPrefix

virtual outcome::result< void > clearPrefix(
    const Buffer & prefix
) override

Reimplements: sgns::storage::trie::TrieBatch::clearPrefix

Remove all trie entries which key begins with the supplied prefix

function writeBack

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

Reimplements: sgns::storage::trie::TopperTrieBatch::writeBack

Writes changes to the parent batch


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