Skip to content

sgns::storage::trie::TrieStorageBackendImpl

#include <trie_storage_backend_impl.hpp>

Inherits from sgns::storage::trie::TrieStorageBackend, sgns::storage::face::GenericStorage< Buffer, Buffer >, sgns::storage::face::ReadOnlyMap< K, V >, sgns::storage::face::BatchWriteMap< K, V >, IComponent, sgns::storage::face::Iterable< K, V >, sgns::storage::face::Readable< K, V >, sgns::storage::face::Writeable< K, V >, sgns::storage::face::Batchable< K, V >

Public Functions

Name
TrieStorageBackendImpl(std::shared_ptr< BufferStorage > storage, base::Buffer node_prefix)
~TrieStorageBackendImpl() override =default
virtual std::unique_ptr< face::MapCursor< Buffer, Buffer > > cursor() override
Returns new key-value iterator.
virtual std::unique_ptr< face::WriteBatch< Buffer, Buffer > > batch() override
Creates new Write Batch - an object, which can be used to efficiently write bulk data.
virtual outcome::result< Buffer > get(const Buffer & key) const override
Get value by key.
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 std::string GetName() override

Additional inherited members

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

Name
~TrieStorageBackend() override =default

Public Functions inherited from IComponent

Name
virtual ~IComponent() =default

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

Name
virtual ~Iterable() =default

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

Name
virtual ~Readable() =default

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

Name
virtual ~Writeable() =default

Public Functions inherited from sgns::storage::face::Batchable< K, V >

Name
virtual ~Batchable() =default

Public Functions Documentation

function TrieStorageBackendImpl

TrieStorageBackendImpl(
    std::shared_ptr< BufferStorage > storage,
    base::Buffer node_prefix
)

function ~TrieStorageBackendImpl

~TrieStorageBackendImpl() override =default

function cursor

virtual std::unique_ptr< face::MapCursor< Buffer, Buffer > > cursor() override

Returns new key-value iterator.

Return: kv iterator

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

function batch

virtual std::unique_ptr< face::WriteBatch< Buffer, Buffer > > batch() override

Creates new Write Batch - an object, which can be used to efficiently write bulk data.

Reimplements: sgns::storage::face::Batchable::batch

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 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 GetName

inline virtual std::string GetName() override

Reimplements: IComponent::GetName


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