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_
LoaderFactory is a factory class to create IFragmentLoader. Support Using dynamically built library a...
Definition: loader_factory.h:29
static void Finalize()
Definition: loader_factory.cc:45
std::shared_ptr< IFragmentLoader >(*)(const std::string &work_dir, const Schema &schema, const LoadingConfig &loading_config) loader_initializer_t
Definition: loader_factory.h:33
static std::shared_ptr< IFragmentLoader > CreateFragmentLoader(const std::string &work_dir, const Schema &schema, const LoadingConfig &loading_config)
Definition: loader_factory.cc:47
static bool Register(const std::string &scheme_type, const std::string &format_type, loader_initializer_t initializer)
Definition: loader_factory.cc:63
static std::unordered_map< std::string, loader_initializer_t > & getKnownLoaders()
Definition: loader_factory.cc:74
static void Init()
Definition: loader_factory.cc:23
Definition: loading_config.h:89
Definition: schema.h:29
Definition: adj_list.h:23