8 #ifndef MATERIALFACTORY_HPP_
9 #define MATERIALFACTORY_HPP_
12 #include "../config/SimulationConfig.hpp"
13 #include "../common/FactoryBase.hpp"
14 #include "../../../common/common.hpp"
34 std::function<
MaterialBase*(
void)> class_factory_function);
37 std::shared_ptr<MaterialBase>
create(std::string class_name);
44 std::map<std::string, std::function<MaterialBase*(void)>> factory_function_registry_;
void register_factory_function(std::string class_name, std::function< MaterialBase *(void)> class_factory_function)
Definition: MaterialFactory.cpp:22
Definition: CommonBase.hpp:14
Definition: FactoryBase.hpp:16
static MaterialFactory * instance()
Definition: MaterialFactory.cpp:17
Definition: MaterialFactory.hpp:25
virtual ~MaterialFactory()
Definition: MaterialFactory.cpp:13
Definition: MaterialBase.hpp:17
std::shared_ptr< MaterialBase > create(std::string class_name)
Definition: MaterialFactory.cpp:30