🛰️航天仿真算法库 SpaceAST 0.0.1
载入中...
搜索中...
未找到
ast::Class类 参考

#include <Class.hpp>

+ 类 ast::Class 继承关系图:

Public 成员函数

 Class (Class *parent=nullptr)
 
ClassgetParent () const
 
void addToRegistry () const
 
ObjectNewObject (Object *parentScope) const
 
ObjectgetDefaultObject () const
 
void setParent (Class *parent)
 
void setConstructor (FConstructor constructor)
 
template<typename T >
void setParent ()
 
template<typename T >
void setConstructor ()
 
- Public 成员函数 继承自 ast::Struct
PropertyaddProperty (StringView name, Property *property)
 
PropertyaddProperty (Property *property)
 
PropertygetProperty (StringView name)
 
const PropertyList & getProperties () const
 
std::string getModuleName () const
 
 Field ()
 
 Field (StringView name, StringView desc="")
 
- Public 成员函数 继承自 ast::Field
 Field (StringView name, StringView desc="")
 
const std::string & name () const
 
void setName (StringView name)
 
const std::string & desc () const
 
void setDesc (StringView desc)
 

Protected 属性

Classparent_ {nullptr}
 
FConstructor constructor_ {nullptr}
 
SharedPtr< ObjectdefaultObject_ {nullptr}
 
- Protected 属性 继承自 ast::Struct
PropertyList properties_
 
PropertyMap propertyMap_
 
- Protected 属性 继承自 ast::Field
std::string name_
 
std::string desc_
 

额外继承的成员函数

- Public 类型 继承自 ast::Struct
using PropertyMap = std::unordered_map<std::string, Property*>
 
using PropertyList = std::vector<Property*>
 

详细描述

类元信息

类元信息,包含类的名称、属性、方法等

待办事项
实现类的反射机制

构造及析构函数说明

◆ Class()

ast::Class::Class ( Class * parent = nullptr)

构造函数

参数
parent父类指针

成员函数说明

◆ getDefaultObject()

Object * ast::Class::getDefaultObject ( ) const

获取默认对象

返回
Object* 默认对象指针

◆ getParent()

Class * ast::Class::getParent ( ) const
inline

获取父类

返回
Class* 父类指针

◆ NewObject()

Object * ast::Class::NewObject ( Object * parentScope) const

创建新对象

返回
Object* 新对象指针

◆ setConstructor() [1/2]

template<typename T >
void ast::Class::setConstructor ( )
inline

设置构造函数

警告
内部使用,不建议外部调用,否则可能导致未定义行为
参数
T构造函数类型

◆ setConstructor() [2/2]

void ast::Class::setConstructor ( FConstructor constructor)
inline

设置构造函数

警告
内部使用,不建议外部调用,否则可能导致未定义行为
参数
constructor构造函数指针

◆ setParent() [1/2]

template<typename T >
void ast::Class::setParent ( )
inline

设置父类

警告
内部使用,不建议外部调用,否则可能导致未定义行为
参数
T父类类型

◆ setParent() [2/2]

void ast::Class::setParent ( Class * parent)
inline

设置父类

警告
内部使用,不建议外部调用,否则可能导致未定义行为
参数
parent父类指针

该类的文档由以下文件生成: