3#include <Foundation/Containers/Set.h>
4#include <Foundation/Reflection/Reflection.h>
16 static bool IsBasicType(
const plRTTI* pRtti);
29 static void SetComponent(
plVariant& ref_vector, plUInt32 uiComponent,
double fValue);
30 static double GetComponent(
const plVariant& vector, plUInt32 uiComponent);
78 Default = FullyQualifiedName
81 using StorageType = plUInt8;
87 static bool EnumerationToString(
const plRTTI* pEnumerationRtti, plInt64 iValue,
plStringBuilder& out_sOutput,
94 return EnumerationToString(plGetStaticRTTI<T>(), value.
GetValue(), out_sOutput, conversionMode);
101 return EnumerationToString(plGetStaticRTTI<T>(), value.
GetValue(), out_sOutput, conversionMode);
107 plInt32 m_iValue = 0;
116 static bool StringToEnumeration(
const plRTTI* pEnumerationRtti,
const char* szValue, plInt64& out_iValue);
119 template <
typename T>
123 const auto retval = StringToEnumeration(plGetStaticRTTI<T>(), szValue, value);
124 out_value =
static_cast<typename T::Enum
>(value);
129 static plInt64 DefaultEnumerationValue(
const plRTTI* pEnumerationRtti);
134 static plInt64 MakeEnumerationValid(
const plRTTI* pEnumerationRtti, plInt64 iValue);
137 template <
typename T>
138 static bool IsEqual(
const T* pObject,
const T* pObject2)
140 return IsEqual(pObject, pObject2, plGetStaticRTTI<T>());
149 static bool IsEqual(
const void* pObject,
const void* pObject2,
const plRTTI* pType);
152 static bool IsEqual(
const void* pObject,
const void* pObject2,
const plAbstractProperty* pProp);
168 static void SetAllMemberPropertiesToDefault(
const plRTTI* pRtti,
void* pObject);
The base class for a property that represents an array of values.
Definition AbstractProperty.h:273
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
This is the base interface for all properties in the reflection system. It provides enough informatio...
Definition AbstractProperty.h:150
The base class for a property that represents a set of values.
Definition AbstractProperty.h:313
A property attribute that allows to define min and max values for the UI. Min or max may be set to an...
Definition PropertyAttributes.h:216
Definition DynamicArray.h:81
This class holds information about reflected types. Each instance represents one type that is known t...
Definition RTTI.h:30
Helper functions for handling reflection related operations.
Definition ReflectionUtils.h:11
static bool IsEqual(const T *pObject, const T *pObject2)
Templated convenience function that calls IsEqual and automatically deduces the type.
Definition ReflectionUtils.h:138
static bool BitflagsToString(plBitflags< T > value, plStringBuilder &out_sOutput, plEnum< EnumConversionMode > conversionMode=EnumConversionMode::Default)
Helper template to shorten the call for plBitflags.
Definition ReflectionUtils.h:99
static bool EnumerationToString(plEnum< T > value, plStringBuilder &out_sOutput, plEnum< EnumConversionMode > conversionMode=EnumConversionMode::Default)
Helper template to shorten the call for plEnums.
Definition ReflectionUtils.h:92
static bool StringToEnumeration(const char *szValue, plEnum< T > &out_value)
Helper template to shorten the call for plEnums.
Definition ReflectionUtils.h:120
plStringBuilder is a class that is meant for creating and modifying strings.
Definition StringBuilder.h:35
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
PL_ALWAYS_INLINE StorageType GetValue() const
Returns the stored value as the underlying integer type.
Definition Bitflags.h:199
A custom enum implementation that allows to define the underlying storage type to control its memory ...
Definition Enum.h:37
PL_ALWAYS_INLINE StorageType GetValue() const
Returns the enum value as an integer.
Definition Enum.h:98
Definition ReflectionUtils.h:73
Definition ReflectionUtils.h:105
Default enum for returning failure or success, instead of using a bool.
Definition Types.h:54
Enum
This enum describes the type of data that is currently stored inside the variant. Note that changes t...
Definition VariantType.h:26