16const std::string DEV_GRID =
"DevGrid";
17const std::string RECT_GRID =
"RectangularGrid";
18const std::string PARAMETRICGRID =
"ParametricGrid";
21Module<Nextsim::IStructure>::map Module<Nextsim::IStructure>::functionMap = {
22 { DEV_GRID, newImpl<Nextsim::IStructure, Nextsim::DevGrid> },
23 { RECT_GRID, newImpl<Nextsim::IStructure, Nextsim::RectangularGrid> },
24 { PARAMETRICGRID, newImpl<Nextsim::IStructure, Nextsim::ParametricGrid> },
27Module<Nextsim::IStructure>::fn Module<Nextsim::IStructure>::spf = functionMap.at(DEV_GRID);
29std::unique_ptr<Nextsim::IStructure> Module<Nextsim::IStructure>::staticInstance
30 = std::move(newImpl<Nextsim::IStructure, Nextsim::DevGrid>());
32template <> std::string Module<Nextsim::IStructure>::moduleName() {
return "IStructure"; }
36 return getImplTemplate<Nextsim::IStructure, IStructureModule>();
39template <>
void setImplementation<Nextsim::IStructure>(
const std::string& implName)
41 setImplTemplate<IStructureModule>(implName);
44template <> std::unique_ptr<Nextsim::IStructure> getInstance()
46 return getInstTemplate<Nextsim::IStructure, IStructureModule>();
Interface class for the model structure.