6#include <unordered_set>
18 static std::shared_ptr<module_manager>
create(
19 const std::string &module_search_path,
20 const std::string &main_module_path);
27 module_manager(
const std::string &
path);
31 const ModulePtr find_module(
const std::string &module_name)
const;
39 const std::filesystem::path ¤t_path,
43 const std::filesystem::path &
path,
46 std::string module_search_path_;
47 std::string main_module_;
53 unsigned discovered_ = 0;
~module_manager()
Definition module_manager.cpp:430
const ModulePtr get_module(const std::string &module_name)
Look a module up by (possibly dotted) name, parsing its JSON AST if this is the first request for it.
Definition module_manager.cpp:439
static std::shared_ptr< module_manager > create(const std::string &module_search_path, const std::string &main_module_path)
Definition module_manager.cpp:343
std::shared_ptr< module > ModulePtr
Definition module_manager.h:10
std::unordered_set< ModulePtr > ModulesList
Definition module_manager.h:11