🛰️航天仿真算法库 SpaceAST 0.0.1
载入中...
搜索中...
未找到
ObjectLinkTo.hpp
浏览该文件的文档.
1
20
21#pragma once
22
23#include "AstGlobal.h"
24#include "ObjectNamed.hpp"
25
26AST_NAMESPACE_BEGIN
27
36class AST_UTIL_API ObjectLinkTo final: public ObjectNamed
37{
38public:
39 AST_OBJECT(ObjectLinkTo)
40
41 ObjectLinkTo() = default;
42 ~ObjectLinkTo() = default;
43
44 void setResolvedName(const std::string& name);
45 const std::string& getResolvedName() const;
46
47 void setResolvedType(Class* type);
48 Class* getResolvedType() const;
49
50 void setResolvedObject(Object* object){resolvedObject_ = object;}
51
52 Object* resolve() const;
53private:
54 mutable WeakPtr<Object> resolvedObject_;
55 std::string resolvedName_;
56 Class* resolvedType_{nullptr};
57};
58
59
62AST_NAMESPACE_END
63
64
类元信息
定义 Class.hpp:40
链接到对象
定义 ObjectLinkTo.hpp:37
命名对象
定义 ObjectNamed.hpp:36
对象基类,继承自该类的对象可以使用运行时类型信息相关功能,实现强弱引用计数、运行时元信息(属性访问、序列化等)等基础功能
定义 Object.hpp:86
弱引用指针
定义 WeakPtr.hpp:35