47AST_UTIL_CAPI errc_t aFakeGet(
const void* container,
void* value);
54AST_UTIL_CAPI errc_t aFakeSet(
void* container,
const void* value);
71 Property(FPropertyGet getter, FPropertySet setter)
73 , getter_(getter?getter:&aFakeGet)
74 , setter_(setter?setter:&aFakeSet)
77 ~Property() =
default;
100 virtual errc_t
getValueInt(
const void* container,
int& value) = 0;
140 return getter_(container, value);
148 errc_t
setValue(
void* container,
const void* value)
150 return setter_(container, value);
154 FPropertySet setter_ {
nullptr};
定义 PropertyVisitor.hpp:44
A_ALWAYS_INLINE errc_t setValue(void *container, const void *value)
设置属性值
定义 Property.hpp:148
virtual errc_t setValueString(void *container, StringView value)=0
设置属性值(String类型)
EPropertyFlag
属性标志位
定义 Property.hpp:61
virtual errc_t getValueDouble(const void *container, double &value)=0
A_ALWAYS_INLINE errc_t getValue(void *container, void *value)
获取属性值
定义 Property.hpp:138
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 aFakeGet(const void *container, void *value)
模拟获取属性值的函数
定义 Property.cpp:26
errc_t aFakeSet(void *container, const void *value)
模拟设置属性值的函数
定义 Property.cpp:32
errc_t(* FPropertyGet)(const void *obj, void *value)
获取属性值的函数指针
定义 ReflectAPI.hpp:58
EValueType
定义 Property.hpp:36
@ eBool
bool类型
定义 Property.hpp:39
@ eString
std::string类型
定义 Property.hpp:40
@ eDouble
double类型
定义 Property.hpp:37
@ eInt
int类型
定义 Property.hpp:38