Flex  0.17.9
loader_factory.h
Go to the documentation of this file.
1 
16 #ifndef STORAGES_RT_MUTABLE_GRAPH_LOADER_LOADER_FACTORY_H_
17 #define STORAGES_RT_MUTABLE_GRAPH_LOADER_LOADER_FACTORY_H_
18 
19 #include <memory>
22 
23 namespace gs {
24 
30  public:
31  using loader_initializer_t = std::shared_ptr<IFragmentLoader> (*)(
32  const std::string& work_dir, const Schema& schema,
33  const LoadingConfig& loading_config);
34 
35  static void Init();
36 
37  static void Finalize();
38 
39  static std::shared_ptr<IFragmentLoader> CreateFragmentLoader(
40  const std::string& work_dir, const Schema& schema,
41  const LoadingConfig& loading_config);
42 
43  static bool Register(const std::string& scheme_type,
44  const std::string& format_type,
45  loader_initializer_t initializer);
46 
47  private:
48  static std::unordered_map<std::string, loader_initializer_t>&
50 };
51 } // namespace gs
52 
53 #endif // STORAGES_RT_MUTABLE_GRAPH_LOADER_LOADER_FACTORY_H_
gs::LoaderFactory::CreateFragmentLoader
static std::shared_ptr< IFragmentLoader > CreateFragmentLoader(const std::string &work_dir, const Schema &schema, const LoadingConfig &loading_config)
Definition: loader_factory.cc:47
gs::LoaderFactory::loader_initializer_t
std::shared_ptr< IFragmentLoader >(*)(const std::string &work_dir, const Schema &schema, const LoadingConfig &loading_config) loader_initializer_t
Definition: loader_factory.h:33
i_fragment_loader.h
gs
Definition: adj_list.h:23
gs::LoaderFactory::Register
static bool Register(const std::string &scheme_type, const std::string &format_type, loader_initializer_t initializer)
Definition: loader_factory.cc:63
gs::Schema
Definition: schema.h:29
gs::LoaderFactory::Init
static void Init()
Definition: loader_factory.cc:23
loading_config.h
gs::LoaderFactory
LoaderFactory is a factory class to create IFragmentLoader. Support Using dynamically built library a...
Definition: loader_factory.h:29
gs::LoadingConfig
Definition: loading_config.h:89
gs::LoaderFactory::getKnownLoaders
static std::unordered_map< std::string, loader_initializer_t > & getKnownLoaders()
Definition: loader_factory.cc:74
gs::LoaderFactory::Finalize
static void Finalize()
Definition: loader_factory.cc:45