52#ifndef LATTICE_LATTICEFACTORY_HPP
53#define LATTICE_LATTICEFACTORY_HPP
73 using CreatorMapType = std::map<std::string, LatticeCreator*>;
74 using IdentVectorType = std::vector<std::string>;
75 using IdentVectorIterator = std::vector<std::string>::iterator;
124 CreatorMapType creatorMap_;
128 std::ostream& operator<<(std::ostream& o, LatticeFactory& factory);
Factory pattern and Singleton Pattern are used to define an interface for creating an Lattice.
Lattice * createLattice(const std::string &id)
Looks up the type identifier in the internal map.
bool unregisterLattice(const std::string &id)
Unregisters the creator for the given type identifier.
IdentVectorType getIdents()
Returns all of the registed type identifiers.
static LatticeFactory & getInstance()
Returns an instance of Lattice factory.
This basic Periodic Table class was originally taken from the data.cpp file in OpenBabel.
void registerLattice()
Register all lattice.