Skip to content

sgns::storage::face::GenericStorage

An abstraction over readable, writeable, iterable key-value storage that supports write batches. More...

#include <generic_storage.hpp>

Inherits from 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 >

Additional inherited members

Public Functions inherited from IComponent

Name
virtual ~IComponent() =default
virtual std::string GetName() =0

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

Name
virtual ~Iterable() =default
virtual std::unique_ptr< MapCursor< K, V > > cursor() =0
Returns new key-value iterator.

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

Name
virtual ~Readable() =default
virtual outcome::result< V > get(const K & key) const =0
Get value by key.
virtual bool contains(const K & key) const =0
Returns true if given key-value binding exists in the storage.
virtual bool empty() const =0
Returns true if the storage is empty.

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

Name
virtual ~Writeable() =default
virtual outcome::result< void > put(const K & key, const V & value) =0
Store value by key.
virtual outcome::result< void > put(const K & key, V && value) =0
virtual outcome::result< void > remove(const K & key) =0
Remove value by key.

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

Name
virtual ~Batchable() =default
virtual std::unique_ptr< WriteBatch< K, V > > batch() =0
Creates new Write Batch - an object, which can be used to efficiently write bulk data.

Detailed Description

template <typename K ,
typename V >
struct sgns::storage::face::GenericStorage;

An abstraction over readable, writeable, iterable key-value storage that supports write batches.

Template Parameters:

  • K key type
  • V value type

Updated on 2026-03-04 at 13:10:44 -0800