XII Release 0.1.0
Loading...
Searching...
No Matches
xiiVariantType Struct Reference

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

#include <VariantType.h>

Inheritance diagram for xiiVariantType:
[legend]

Public Types

enum  Enum : StorageType {
  Invalid = 0U , FirstStandardType = 1U , Bool , Int8 ,
  Int16 , Int32 , Int64 , UInt8 ,
  UInt16 , UInt32 , UInt64 , Float ,
  Double , Color , Vector2I , Vector3I ,
  Vector4I , Vector2I64 , Vector3I64 , Vector4I64 ,
  Vector2U , Vector3U , Vector4U , Vector2U64 ,
  Vector3U64 , Vector4U64 , Vector2 , Vector3 ,
  Vector4 , Vector2d , Vector3d , Vector4d ,
  Quaternion , Quaterniond , Matrix3 , Matrix3d ,
  Matrix4 , Matrix4d , Transform , Transformd ,
  Angle , Angled , String , StringView ,
  HashedString , TempHashedString , DataBuffer , Time ,
  Uuid , ColorGamma , LastStandardType , FirstExtendedType = 64U ,
  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 xiiVariants. More...
 
using StorageType = xiiUInt8
 

Detailed Description

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

Member Enumeration Documentation

◆ Enum

enum xiiVariantType::Enum : StorageType

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 xiiVariants.

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 a xiiInt8.

Int16 

The variant stores a xiiInt16.

Int32 

The variant stores a xiiInt32.

Int64 

The variant stores a xiiInt64.

UInt8 

The variant stores a xiiUInt8.

UInt16 

The variant stores a xiiUInt16.

UInt32 

The variant stores a xiiUInt32.

UInt64 

The variant stores a xiiUInt64.

Float 

The variant stores a float.

Double 

The variant stores a double.

Color 

The variant stores a xiiColor.

Vector2I 

The variant stores a xiiVec2I32.

Vector3I 

The variant stores a xiiVec3I32.

Vector4I 

The variant stores a xiiVec4I32.

Vector2I64 

The variant stores a xiiVec2I64.

Vector3I64 

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

Vector4I64 

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

Vector2U 

The variant stores a xiiVec2U32.

Vector3U 

The variant stores a xiiVec3U32.

Vector4U 

The variant stores a xiiVec4U32.

Vector2U64 

The variant stores a xiiVec2U64.

Vector3U64 

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

Vector4U64 

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

Vector2 

The variant stores a xiiVec2.

Vector3 

The variant stores a xiiVec3.

Vector4 

The variant stores a xiiVec4.

Vector2d 

The variant stores a xiiVec2d.

Vector3d 

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

Vector4d 

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

Quaternion 

The variant stores a xiiQuat.

Quaterniond 

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

Matrix3 

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

Matrix3d 

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

Matrix4 

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

Matrix4d 

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

Transform 

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

Transformd 

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

Angle 

The variant stores a xiiAngle value.

Angled 

The variant stores a xiiAngled value.

String 

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

StringView 

The variant stores a xiiStringView.

HashedString 

The variant stores a xiiHashedString value.

TempHashedString 

The variant stores a xiiTempHashedString value.

DataBuffer 

The variant stores a xiiDataBuffer, an alias to DynamicArray<xiiUInt8>. A heap allocation is required to store this data type.

Time 

The variant stores a xiiTime value.

Uuid 

The variant stores a xiiUuid value.

ColorGamma 

The variant stores a xiiColorGammaUB value.

FirstExtendedType 

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

VariantArray 

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

VariantDictionary 

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

TypedPointer 

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

TypedObject 

The variant stores a xiiTypedObject 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 xiiVariant::Type.

Default 

Default value used by xiiEnum.


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