🛰️航天仿真算法库 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
37#ifndef SWIG
38
42{
43public:
44 using ClassMap = std::unordered_map<std::string, Class*>;
45
46 ClassRegistry() = default;
47 ~ClassRegistry() = default;
48 static ClassRegistry* Instance();
49
50 Class* getClass(StringView name) const;
51 void getAllClassNames(std::vector<std::string>& names) const;
52 const ClassMap& getAllClasses() const { return classMap_; }
53 void registerClass(Class* cls);
54 void registerClass(Class* cls, StringView name);
55protected:
56 ClassMap classMap_;
57};
58
59#endif
60
63AST_NAMESPACE_END
类注册器
定义 ClassRegistry.hpp:42
类元信息
定义 Class.hpp:40