Skip to content

sgns::storage::trie::SuperGeniusTrieFactoryImpl

#include <supergenius_trie_factory_impl.hpp>

Inherits from sgns::storage::trie::SuperGeniusTrieFactory, IComponent

Public Functions

Name
virtual std::unique_ptr< SuperGeniusTrie > createEmpty(ChildRetrieveFunctor f) const override
virtual std::unique_ptr< SuperGeniusTrie > createFromRoot(SuperGeniusTrie::NodePtr root, ChildRetrieveFunctor f) const override
virtual std::string GetName() override

Additional inherited members

Public Types inherited from sgns::storage::trie::SuperGeniusTrieFactory

Name
using std::function< outcome::result< SuperGeniusTrie::NodePtr >( SuperGeniusTrie::BranchPtr, uint8_t)> ChildRetrieveFunctor

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

Name
~SuperGeniusTrieFactory() override =default

Protected Functions inherited from sgns::storage::trie::SuperGeniusTrieFactory

Name
outcome::result< SuperGeniusTrie::NodePtr > defaultChildRetriever(const SuperGeniusTrie::BranchPtr & branch, uint8_t idx)

Public Functions inherited from IComponent

Name
virtual ~IComponent() =default

Public Functions Documentation

function createEmpty

virtual std::unique_ptr< SuperGeniusTrie > createEmpty(
    ChildRetrieveFunctor f
) const override

Parameters:

  • f functor that a trie uses to obtain a child of a branch. If optional is none, the default one will be used

Reimplements: sgns::storage::trie::SuperGeniusTrieFactory::createEmpty

Creates an empty trie

function createFromRoot

virtual std::unique_ptr< SuperGeniusTrie > createFromRoot(
    SuperGeniusTrie::NodePtr root,
    ChildRetrieveFunctor f
) const override

Parameters:

  • root root node for the trie
  • f functor that a trie uses to obtain a child of a branch. If optional is none, the default one will be used

Reimplements: sgns::storage::trie::SuperGeniusTrieFactory::createFromRoot

Creates a trie with the given root

function GetName

inline virtual std::string GetName() override

Reimplements: IComponent::GetName


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