🛰️航天仿真算法库 SpaceAST 0.0.1
载入中...
搜索中...
未找到
PropertyBool.hpp
浏览该文件的文档.
1
20
21#pragma once
22
23#include "AstGlobal.h"
24#include "Property.hpp"
25
26AST_NAMESPACE_BEGIN
27
28
32class AST_UTIL_API PropertyBool final: public Property
33{
34public:
35 using Property::Property;
36 using Property::getValue;
37 using InputType = bool;
38 using OutputType = bool;
39
40 errc_t getValueBool(const void* container, bool& value) override;
41 errc_t setValueBool(void* container, bool value) override;
42 errc_t getValueInt(const void* container, int& value) override;
43 errc_t setValueInt(void* container, int value) override;
44 errc_t getValueString(const void* container, std::string& value) override;
45 errc_t setValueString(void* container, StringView value) override;
46 errc_t getValueDouble(const void* container, double& value) override;
47 errc_t setValueDouble(void* container, double value) override;
48 EValueType getValueType() const override{return EValueType::eBool;}
49
54 errc_t accept(PropertyVisitor& visitor, const void* container) override;
55protected:
60 A_ALWAYS_INLINE
61 errc_t setValue(void* container, const InputType* value)
62 {
63 return setter_(container, value);
64 }
69 A_ALWAYS_INLINE
70 errc_t getValue(const void* container, OutputType* value)
71 {
72 return getter_(container, value);
73 }
74
75};
76
77
78AST_NAMESPACE_END
反射属性类(bool类型)
定义 PropertyBool.hpp:33
EValueType getValueType() const override
获取属性值类型
定义 PropertyBool.hpp:48
A_ALWAYS_INLINE errc_t getValue(const void *container, OutputType *value)
获取属性值(bool类型)
定义 PropertyBool.hpp:70
A_ALWAYS_INLINE errc_t setValue(void *container, const InputType *value)
设置属性值(bool类型)
定义 PropertyBool.hpp:61
定义 PropertyVisitor.hpp:44
反射属性类
定义 Property.hpp:67
virtual errc_t setValueString(void *container, StringView value)=0
设置属性值(String类型)
virtual errc_t getValueDouble(const void *container, double &value)=0
virtual errc_t accept(PropertyVisitor &visitor, const void *container)=0
接受访问者
virtual errc_t getValueBool(const void *container, bool &value)=0
获取属性值(bool类型)
virtual errc_t setValueBool(void *container, bool value)=0
设置属性值(bool类型)
virtual errc_t setValueInt(void *container, int value)=0
设置属性值(int类型)
virtual errc_t setValueDouble(void *container, double value)=0
设置属性值(double类型)
virtual errc_t getValueInt(const void *container, int &value)=0
获取属性值(int类型)
virtual errc_t getValueString(const void *container, std::string &value)=0
获取属性值(String类型)
EValueType
定义 Property.hpp:38
@ eBool
bool类型