37 using Property::Property;
38 using Property::getValue;
45 errc_t
getValueBool(
const void* container,
bool& value)
override;
46 errc_t
setValueBool(
void* container,
bool value)
override;
47 errc_t
getValueInt(
const void* container,
int& value)
override;
48 errc_t
setValueInt(
void* container,
int value)
override;
49 errc_t
getValueString(
const void* container, std::string& value)
override;
51 errc_t
getValueDouble(
const void* container,
double& value)
override;
59 errc_t
setValue(
void* container,
const InputType* value);
60 errc_t getValue(
const void* container, OutputType* value);
62 Class* getClass()
const {
return class_; }
68 errc_t
accept(PropertyVisitor& visitor,
const void* container)
override;
70 Class* class_{
nullptr};
对象基类,继承自该类的对象可以使用运行时类型信息相关功能,实现强弱引用计数、运行时元信息(属性访问、序列化等)等基础功能
定义 Object.hpp:86
反射属性类(对象类型)
定义 PropertyObject.hpp:35
EValueType getValueType() const override
获取属性值类型
定义 PropertyObject.hpp:53
A_ALWAYS_INLINE errc_t setValue(void *container, const void *value)
设置属性值
定义 Property.hpp:189
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类型)
errc_t(*)(void *obj, const void *value) FPropertySet
设置属性值
定义 ReflectAPI.hpp:37
errc_t(*)(const void *obj, void *value) FPropertyGet
获取属性值
定义 ReflectAPI.hpp:36
EValueType
定义 Property.hpp:38