CGMES_3_0_0
Loading...
Searching...
No Matches
CIMFactory.hpp
1#ifndef CIMFACTORY_HPP
2#define CIMFACTORY_HPP
3
4#include <string>
5#include <unordered_map>
6#include "BaseClass.hpp"
7
8namespace CIMPP {
9
10 class CIMFactory
11 {
12 public:
13 CIMFactory();
14 virtual ~CIMFactory();
15 static BaseClass* CreateNew(const std::string& name);
16 static bool IsCIMClass(const std::string& name);
17
18 private:
19 static std::unordered_map<std::string, BaseClass* (*)()> factory_map;
20 };
21}
22#endif // CIMFACTORY_HPP
Definition BaseClass.hpp:22