🛰️航天仿真算法库 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
28
AST_NAMESPACE_BEGIN
29
35
class
Class;
36
37
#ifndef SWIG
38
41
class
ClassRegistry
42
{
43
public
:
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);
55
protected
:
56
ClassMap classMap_;
57
};
58
59
#endif
60
63
AST_NAMESPACE_END
ast::ClassRegistry
类注册器
定义
ClassRegistry.hpp:42
ast::Class
类元信息
定义
Class.hpp:40
ast::StringViewBasic< char >
src
AstUtil
RTTI
ClassRegistry.hpp
制作者
1.12.0