🛰️航天仿真算法库 SpaceAST 0.0.1
载入中...
搜索中...
未找到
PropertyNamedVector.hpp
浏览该文件的文档.
1
20
21#pragma once
22
23#include "AstGlobal.h"
24#include "AstUtil/Property.hpp"
25
26AST_NAMESPACE_BEGIN
27
33#ifndef SWIG
34
35AST_UTIL_API errc_t aFakeGetByString(const void* container, StringView key, Object*& value);
36AST_UTIL_API errc_t aFakeGetByIndex(const void* container, size_t key, Object*& value);
37
38
40class AST_UTIL_API PropertyNamedVector: public Property
41{
42public:
46 PropertyNamedVector(FPropertyGetItemByString getterByString, FPropertyGetItemByIndex getterByIndex)
47 : getterByString_(getterByString?getterByString:&aFakeGetByString)
48 , getterByIndex_(getterByIndex?getterByIndex:&aFakeGetByIndex)
49 {
50 }
51
56 errc_t getItem(const void* container, StringView key, Object*& value);
57
62 errc_t getItem(const void* container, size_t key, Object*& value);
63protected:
64 FPropertyGetItemByString getterByString_;
65 FPropertyGetItemByIndex getterByIndex_;
66};
67
68#endif
69
72AST_NAMESPACE_END
73
对象基类,继承自该类的对象可以使用运行时类型信息相关功能,实现强弱引用计数、运行时元信息(属性访问、序列化等)等基础功能
定义 Object.hpp:86
命名向量属性
定义 PropertyNamedVector.hpp:41
PropertyNamedVector(FPropertyGetItemByString getterByString, FPropertyGetItemByIndex getterByIndex)
构造函数
定义 PropertyNamedVector.hpp:46
errc_t getItem(const void *container, size_t key, Object *&value)
获取属性值
errc_t getItem(const void *container, StringView key, Object *&value)
获取属性值
FPropertyGetItemByString getterByString_
获取属性值的函数指针,用于根据属性键获取属性值
定义 PropertyNamedVector.hpp:64
FPropertyGetItemByIndex getterByIndex_
获取属性值的函数指针,用于根据属性索引获取属性值
定义 PropertyNamedVector.hpp:65
反射属性类
定义 Property.hpp:67