IEC61970 16v29a
CIMFactory.hpp
1 #ifndef CIMFACTORY_HPP
2 #define CIMFACTORY_HPP
3 
4 #include <string>
5 #include <unordered_map>
6 #include "BaseClass.h"
7 
8 class CIMFactory
9 {
10 public:
11  CIMFactory();
12  static BaseClass* CreateNew(const std::string& name);
13  static bool IsCIMClass(const std::string& name);
14 
15 private:
16  static std::unordered_map<std::string, BaseClass* (*)()> factory_map;
17 };
18 
19 #endif // CIMFACTORY_HPP
Definition: CIMFactory.hpp:8
Definition: BaseClass.h:6