🛰️航天仿真算法库 SpaceAST 0.0.1
载入中...
搜索中...
未找到
ClassRegistry.hpp
浏览该文件的文档.
1
20
21#pragma once
22
23#include "AstGlobal.h"
24#include <unordered_map>
25#include <string>
26#include <vector>
27
28AST_NAMESPACE_BEGIN
29
35class Class;
36
40{
41public:
42 ClassRegistry() = default;
43 ~ClassRegistry() = default;
44 static ClassRegistry* Instance();
45
46 Class* getClass(StringView name) const;
47 void getAllClassNames(std::vector<std::string>& names) const;
48 void registerClass(Class* cls);
49 void registerClass(StringView name, Class* cls);
50protected:
51 using ClassMap = std::unordered_map<std::string, Class*>;
52 ClassMap classMap_;
53};
54
57AST_NAMESPACE_END
类注册器
定义 ClassRegistry.hpp:40
类元信息
定义 Class.hpp:37