Skip to content

src/storage/trie/supergenius_trie/supergenius_trie_factory_impl.hpp

Namespaces

Name
sgns
sgns::storage
sgns::storage::trie

Classes

Name
class sgns::storage::trie::SuperGeniusTrieFactoryImpl

Source code

#ifndef SUPERGENIUS_SRC_STORAGE_TRIE_IMPL_SUPERGENIUS_TRIE_FACTORY_IMPL
#define SUPERGENIUS_SRC_STORAGE_TRIE_IMPL_SUPERGENIUS_TRIE_FACTORY_IMPL

#include "storage/trie/supergenius_trie/supergenius_trie_factory.hpp"
#include "storage/trie/supergenius_trie/supergenius_trie_impl.hpp"

namespace sgns::storage::trie {

  class SuperGeniusTrieFactoryImpl : public SuperGeniusTrieFactory {
   public:

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

    std::string GetName() override
    {
      return "SuperGeniusTrieFactoryImpl";
    }

   private:
    SuperGeniusTrieImpl::ChildRetrieveFunctor default_child_retrieve_f_;
  };

}  // namespace sgns::storage::trie

#endif  // SUPERGENIUS_SRC_STORAGE_TRIE_IMPL_SUPERGENIUS_TRIE_FACTORY_IMPL

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