Plasma Engine  2.0
Loading...
Searching...
No Matches
plVariantType Struct Reference

This enum describes the type of data that is currently stored inside the variant. More...

#include <VariantType.h>

Inheritance diagram for plVariantType:

Public Types

enum  Enum : plUInt8 {
  Invalid = 0 , FirstStandardType = 1 , Bool , Int8 ,
  UInt8 , Int16 , UInt16 , Int32 ,
  UInt32 , Int64 , UInt64 , Float ,
  Double , Color , Vector2 , Vector3 ,
  Vector4 , Vector2I , Vector3I , Vector4I ,
  Vector2U , Vector3U , Vector4U , Quaternion ,
  Matrix3 , Matrix4 , Transform , String ,
  StringView , DataBuffer , Time , Uuid ,
  Angle , ColorGamma , HashedString , TempHashedString ,
  LastStandardType , FirstExtendedType = 64 , VariantArray , VariantDictionary ,
  TypedPointer , TypedObject , LastExtendedType , MAX_ENUM_VALUE = LastExtendedType ,
  Default = Invalid
}
 This enum describes the type of data that is currently stored inside the variant. Note that changes to this enum require an increase of the reflection version and either patches to the serializer or a re-export of binary data that contains plVariants. More...
 
using StorageType = plUInt8
 

Detailed Description

This enum describes the type of data that is currently stored inside the variant.

Member Enumeration Documentation

◆ Enum

enum plVariantType::Enum : plUInt8

This enum describes the type of data that is currently stored inside the variant. Note that changes to this enum require an increase of the reflection version and either patches to the serializer or a re-export of binary data that contains plVariants.

Enumerator
Invalid 

The variant stores no (valid) data at the moment.

FirstStandardType 

*** Types that are flagged as 'StandardTypes' (see DetermineTypeFlags) ***

Bool 

The variant stores a bool.

Int8 

The variant stores an plInt8.

UInt8 

The variant stores an plUInt8.

Int16 

The variant stores an plInt16.

UInt16 

The variant stores an plUInt16.

Int32 

The variant stores an plInt32.

UInt32 

The variant stores an plUInt32.

Int64 

The variant stores an plInt64.

UInt64 

The variant stores an plUInt64.

Float 

The variant stores a float.

Double 

The variant stores a double.

Color 

The variant stores an plColor.

Vector2 

The variant stores an plVec2.

Vector3 

The variant stores an plVec3.

Vector4 

The variant stores an plVec4.

Vector2I 

The variant stores an plVec2I32.

Vector3I 

The variant stores an plVec3I32.

Vector4I 

The variant stores an plVec4I32.

Vector2U 

The variant stores an plVec2U32.

Vector3U 

The variant stores an plVec3U32.

Vector4U 

The variant stores an plVec4U32.

Quaternion 

The variant stores an plQuat.

Matrix3 

The variant stores an plMat3. A heap allocation is required to store this data type.

Matrix4 

The variant stores an plMat4. A heap allocation is required to store this data type.

Transform 

The variant stores an plTransform. A heap allocation is required to store this data type.

String 

The variant stores a string. A heap allocation is required to store this data type.

StringView 

The variant stores an plStringView.

DataBuffer 

The variant stores an plDataBuffer, a typedef to DynamicArray<plUInt8>. A heap allocation is required to store this data type.

Time 

The variant stores an plTime value.

Uuid 

The variant stores an plUuid value.

Angle 

The variant stores an plAngle value.

ColorGamma 

The variant stores an plColorGammaUB value.

HashedString 

The variant stores an plHashedString value.

TempHashedString 

The variant stores an plTempHashedString value.

FirstExtendedType 

*** Types that are flagged as 'StandardTypes' (see DetermineTypeFlags) ***

VariantArray 

The variant stores an array of plVariant's. A heap allocation is required to store this data type.

VariantDictionary 

The variant stores a dictionary (hashmap) of plVariant's. A heap allocation is required to store this type.

TypedPointer 

The variant stores an plTypedPointer value. Reflected type and data queries will match the pointed to object.

TypedObject 

The variant stores an plTypedObject value. Reflected type and data queries will match the object. A heap allocation is required to store this type if it is larger than 16 bytes or not POD.

LastExtendedType 

Number of values for plVariant::Type.

Default 

Default value used by plEnum.


The documentation for this struct was generated from the following file: