3#include <Foundation/Reflection/Reflection.h>
4#include <ToolsFoundation/Reflection/ReflectedType.h>
19 const plRTTI* m_pPropertyType;
30 virtual void GetValuePtr(
const void* pInstance,
void* pObject)
const override {}
31 virtual void SetValuePtr(
void* pInstance,
const void* pObject)
const override {}
35 const plRTTI* m_pPropertyType;
67 virtual plUInt32
GetCount(
const void* pInstance)
const override {
return 0; }
68 virtual void GetValue(
const void* pInstance, plUInt32 uiIndex,
void* pObject)
const override {}
69 virtual void SetValue(
void* pInstance, plUInt32 uiIndex,
const void* pObject)
const override {}
70 virtual void Insert(
void* pInstance, plUInt32 uiIndex,
const void* pObject)
const override {}
71 virtual void Remove(
void* pInstance, plUInt32 uiIndex)
const override {}
72 virtual void Clear(
void* pInstance)
const override {}
73 virtual void SetCount(
void* pInstance, plUInt32 uiCount)
const override {}
78 const plRTTI* m_pPropertyType;
89 virtual bool IsEmpty(
const void* pInstance)
const override {
return true; }
90 virtual void Clear(
void* pInstance)
const override {}
91 virtual void Insert(
void* pInstance,
const void* pObject)
const override {}
92 virtual void Remove(
void* pInstance,
const void* pObject)
const override {}
93 virtual bool Contains(
const void* pInstance,
const void* pObject)
const override {
return false; }
98 const plRTTI* m_pPropertyType;
109 virtual bool IsEmpty(
const void* pInstance)
const override {
return true; }
110 virtual void Clear(
void* pInstance)
const override {}
111 virtual void Insert(
void* pInstance,
const char* szKey,
const void* pObject)
const override {}
112 virtual void Remove(
void* pInstance,
const char* szKey)
const override {}
113 virtual bool Contains(
const void* pInstance,
const char* szKey)
const override {
return false; }
114 virtual bool GetValue(
const void* pInstance,
const char* szKey,
void* pObject)
const override {
return false; }
119 const plRTTI* m_pPropertyType;
The base class for a property that represents an array of values.
Definition AbstractProperty.h:273
This is the base class for all constant properties that are stored inside the RTTI data.
Definition AbstractProperty.h:213
The base class for a property that represents a function.
Definition AbstractProperty.h:535
The base class for a property that represents a set of values.
Definition AbstractProperty.h:348
This is the base class for all properties that are members of a class. It provides more information a...
Definition AbstractProperty.h:237
The base class for a property that represents a set of values.
Definition AbstractProperty.h:313
This class encapsulates an array and it's size. It is recommended to use this class instead of plain ...
Definition ArrayPtr.h:37
Definition DynamicArray.h:81
A hybrid array uses in-place storage to handle the first few elements without any allocation....
Definition HybridArray.h:12
Definition PhantomProperty.h:61
virtual void SetCount(void *pInstance, plUInt32 uiCount) const override
Resizes the array to uiCount.
Definition PhantomProperty.h:73
virtual const plRTTI * GetSpecificType() const override
Returns the type information of the constant property. Use this to cast this property to a specific v...
Definition PhantomProperty.cpp:149
virtual void SetValue(void *pInstance, plUInt32 uiIndex, const void *pObject) const override
Writes the target of pObject to the element at index uiIndex.
Definition PhantomProperty.h:69
virtual void GetValue(const void *pInstance, plUInt32 uiIndex, void *pObject) const override
Writes element at index uiIndex to the target of pObject.
Definition PhantomProperty.h:68
virtual void Insert(void *pInstance, plUInt32 uiIndex, const void *pObject) const override
Inserts the target of pObject into the array at index uiIndex.
Definition PhantomProperty.h:70
virtual plUInt32 GetCount(const void *pInstance) const override
Returns number of elements.
Definition PhantomProperty.h:67
virtual void Clear(void *pInstance) const override
Clears the array.
Definition PhantomProperty.h:72
virtual void Remove(void *pInstance, plUInt32 uiIndex) const override
Removes the element in the array at index uiIndex.
Definition PhantomProperty.h:71
Definition PhantomProperty.h:7
virtual const plRTTI * GetSpecificType() const override
Returns the type information of the constant property. Use this to cast this property to a specific v...
Definition PhantomProperty.cpp:28
virtual plVariant GetConstant() const override
Returns the constant value as an plVariant.
Definition PhantomProperty.h:14
virtual void * GetPropertyPointer() const override
Returns a pointer to the constant data or nullptr. See plAbstractMemberProperty::GetPropertyPointer f...
Definition PhantomProperty.cpp:33
Definition PhantomProperty.h:39
virtual plUInt32 GetArgumentCount() const override
Returns the number of arguments.
Definition PhantomProperty.cpp:108
virtual plBitflags< plPropertyFlags > GetReturnFlags() const override
Returns property flags of the return value.
Definition PhantomProperty.cpp:103
virtual plFunctionType::Enum GetFunctionType() const override
Returns the type of function, see plFunctionPropertyType::Enum.
Definition PhantomProperty.cpp:93
virtual const plRTTI * GetArgumentType(plUInt32 uiParamIndex) const override
Returns the type of the given argument.
Definition PhantomProperty.cpp:113
virtual void Execute(void *pInstance, plArrayPtr< plVariant > values, plVariant &ref_returnValue) const override
Calls the function. Provide the instance on which the function is supposed to be called.
Definition PhantomProperty.cpp:123
virtual plBitflags< plPropertyFlags > GetArgumentFlags(plUInt32 uiParamIndex) const override
Returns the property flags of the given argument.
Definition PhantomProperty.cpp:118
virtual const plRTTI * GetReturnType() const override
Returns the type of the return value.
Definition PhantomProperty.cpp:98
Definition PhantomProperty.h:103
virtual bool Contains(const void *pInstance, const char *szKey) const override
Returns whether the target of pObject is in the set.
Definition PhantomProperty.h:113
virtual void Clear(void *pInstance) const override
Clears the set.
Definition PhantomProperty.h:110
virtual void GetKeys(const void *pInstance, plHybridArray< plString, 16 > &out_keys) const override
Writes the content of the set to out_keys.
Definition PhantomProperty.h:115
virtual void Remove(void *pInstance, const char *szKey) const override
Removes the target of pObject from the set.
Definition PhantomProperty.h:112
virtual bool IsEmpty(const void *pInstance) const override
Returns whether the set is empty.
Definition PhantomProperty.h:109
virtual void Insert(void *pInstance, const char *szKey, const void *pObject) const override
Inserts the target of pObject into the set.
Definition PhantomProperty.h:111
virtual bool GetValue(const void *pInstance, const char *szKey, void *pObject) const override
Writes element at index uiIndex to the target of pObject.
Definition PhantomProperty.h:114
virtual const plRTTI * GetSpecificType() const override
Returns the type information of the constant property. Use this to cast this property to a specific v...
Definition PhantomProperty.cpp:201
Definition PhantomProperty.h:23
virtual const plRTTI * GetSpecificType() const override
Returns the type information of the constant property. Use this to cast this property to a specific v...
Definition PhantomProperty.cpp:61
virtual void * GetPropertyPointer(const void *pInstance) const override
Returns a pointer to the property data or nullptr. If a valid pointer is returned,...
Definition PhantomProperty.h:29
virtual void SetValuePtr(void *pInstance, const void *pObject) const override
Sets the value of pObject to the property in pInstance. pObject needs to point to an instance of this...
Definition PhantomProperty.h:31
virtual void GetValuePtr(const void *pInstance, void *pObject) const override
Writes the value of this property in pInstance to pObject. pObject needs to point to an instance of t...
Definition PhantomProperty.h:30
Definition PhantomProperty.h:83
virtual void Remove(void *pInstance, const void *pObject) const override
Removes the target of pObject from the set.
Definition PhantomProperty.h:92
virtual bool Contains(const void *pInstance, const void *pObject) const override
Returns whether the target of pObject is in the set.
Definition PhantomProperty.h:93
virtual const plRTTI * GetSpecificType() const override
Returns the type information of the constant property. Use this to cast this property to a specific v...
Definition PhantomProperty.cpp:175
virtual void Insert(void *pInstance, const void *pObject) const override
Inserts the target of pObject into the set.
Definition PhantomProperty.h:91
virtual void Clear(void *pInstance) const override
Clears the set.
Definition PhantomProperty.h:90
virtual bool IsEmpty(const void *pInstance) const override
Returns whether the set is empty.
Definition PhantomProperty.h:89
virtual void GetValues(const void *pInstance, plDynamicArray< plVariant > &out_keys) const override
Writes the content of the set to out_keys.
Definition PhantomProperty.h:94
This class holds information about reflected types. Each instance represents one type that is known t...
Definition RTTI.h:30
plVariant is a class that can store different types of variables, which is useful in situations where...
Definition Variant.h:44
The plBitflags class allows you to work with type-safe bitflags.
Definition Bitflags.h:82
A custom enum implementation that allows to define the underlying storage type to control its memory ...
Definition Enum.h:37
Definition ReflectedType.h:65
Enum
Definition AbstractProperty.h:525
Stores the description of a reflected function in a serializable form, used by plReflectedTypeDescrip...
Definition ReflectedType.h:75
Stores the description of a reflected property in a serializable form, used by plReflectedTypeDescrip...
Definition ReflectedType.h:43