33 libmesh_error_msg(
"ERROR: must call set_getpot() before building boundary condition!");
40 std::map<std::string, FactoryAbstract<Solver>*>&
43 static std::map<std::string, FactoryAbstract<Solver>*> _map;
static std::map< std::string, FactoryAbstract< Base > * > & factory_map()
static const GetPot * _input
We store only a raw pointer here because we can't make a copy.
virtual libMesh::UniquePtr< Solver > create()
Subclasses implement the actual construction of the Base object in create().
virtual libMesh::UniquePtr< Solver > build_solver(const GetPot &input)=0
Abstract factory that provides availability of GetPot.