🛰️航天仿真算法库 SpaceAST 0.0.1
载入中...
搜索中...
未找到
PropertyVisitor.hpp
浏览该文件的文档.
1
20
21#pragma once
22
23#include "AstGlobal.h"
24#include "AstUtil/StringView.hpp"
25
26AST_NAMESPACE_BEGIN
27
32class Property;
33class PropertyBool;
34class PropertyDouble;
35class PropertyInt;
36class PropertyString;
37class PropertyObject;
38class PropertyStruct;
39class PropertyQuantity;
40class PropertyPOD;
41class PropertyTimePoint;
42class Object;
43
45public:
46 virtual ~PropertyVisitor() = default;
47
52 virtual errc_t visit(Property& property, const void* container) = 0;
53
58 virtual errc_t visit(PropertyBool& property, const void* container) = 0;
59
64 virtual errc_t visit(PropertyDouble& property, const void* container) = 0;
65
70 virtual errc_t visit(PropertyInt& property, const void* container) = 0;
71
76 virtual errc_t visit(PropertyString& property, const void* container) = 0;
77
82 virtual errc_t visit(PropertyObject& property, const void* container) = 0;
83
88 virtual errc_t visit(PropertyStruct& property, const void* container) = 0;
89
94 virtual errc_t visit(PropertyQuantity& property, const void* container) = 0;
95
100 virtual errc_t visit(PropertyPOD& property, const void* container) = 0;
101
106 virtual errc_t visit(PropertyTimePoint& property, const void* container) = 0;
107};
108
111AST_NAMESPACE_END
反射属性类(bool类型)
定义 PropertyBool.hpp:33
双精度浮点数属性
定义 PropertyDouble.hpp:32
反射属性类(int类型)
定义 PropertyInt.hpp:33
反射属性类(对象类型)
定义 PropertyObject.hpp:32
反射属性类(POD类型: plain old data)
定义 PropertyPOD.hpp:33
数量值属性
定义 PropertyQuantity.hpp:40
字符串属性
定义 PropertyString.hpp:33
结构体属性
定义 PropertyStruct.hpp:32
时间点属性
定义 PropertyTimePoint.hpp:37
定义 PropertyVisitor.hpp:44
virtual errc_t visit(PropertyPOD &property, const void *container)=0
访问POD类型属性
virtual errc_t visit(PropertyTimePoint &property, const void *container)=0
访问TimePoint类型属性
virtual errc_t visit(Property &property, const void *container)=0
访问属性(默认方法)
virtual errc_t visit(PropertyDouble &property, const void *container)=0
访问Double类型属性
virtual errc_t visit(PropertyString &property, const void *container)=0
访问String类型属性
virtual errc_t visit(PropertyStruct &property, const void *container)=0
访问Struct类型属性
virtual errc_t visit(PropertyQuantity &property, const void *container)=0
访问Quantity类型属性
virtual errc_t visit(PropertyInt &property, const void *container)=0
访问Int类型属性
virtual errc_t visit(PropertyObject &property, const void *container)=0
访问Object类型属性
virtual errc_t visit(PropertyBool &property, const void *container)=0
访问Bool类型属性
反射属性类
定义 Property.hpp:58