Polyphase Game Engine
Loading...
Searching...
No Matches
Datum Class Reference

#include <Datum.h>

Inheritance diagram for Datum:
NetDatum Property TableDatum ScriptNetDatum

Public Member Functions

 Datum ()
 
 Datum (DatumType type, Object *owner, void *data, uint32_t count=1u, DatumChangeHandlerFP changeHandler=nullptr)
 
 Datum (const Datum &src)
 
virtual ~Datum ()
 
 Datum (int32_t value)
 
 Datum (uint32_t value)
 
 Datum (float value)
 
 Datum (bool value)
 
 Datum (const char *value)
 
 Datum (const std::string &value)
 
 Datum (glm::vec2 value)
 
 Datum (glm::vec3 value)
 
 Datum (glm::vec4 value)
 
 Datum (Asset *value)
 
 Datum (const AssetRef &value)
 
 Datum (uint8_t value)
 
 Datum (const SharedPtr< Node > &value)
 
 Datum (const WeakPtr< Node > &value)
 
 Datum (Node *value)
 
 Datum (int16_t value)
 
 Datum (const ScriptFunc &func)
 
template<typename T >
 Datum (const std::vector< T > &arr)
 
template<typename T >
 Datum (const std::vector< SharedPtr< T > > &arr)
 
template<typename T >
 Datum (const std::vector< WeakPtr< T > > &arr)
 
 operator int32_t () const
 
 operator uint32_t () const
 
 operator float () const
 
 operator bool () const
 
 operator const char * () const
 
 operator std::string () const
 
 operator glm::vec2 () const
 
 operator glm::vec3 () const
 
 operator glm::vec4 () const
 
 operator Asset * () const
 
 operator uint8_t () const
 
 operator WeakPtr< Node > () const
 
 operator int16_t () const
 
DatumType GetType () const
 
void SetType (DatumType type)
 
uint32_t GetCount () const
 
void SetCount (uint32_t count)
 
uint32_t GetDataTypeSize () const
 
uint32_t GetDataTypeSerializationSize (bool net) const
 
bool IsExternal () const
 
bool IsValid () const
 
virtual void ReadStream (Stream &stream, uint32_t version, bool net, bool external)
 
virtual void WriteStream (Stream &stream, bool net) const
 
virtual uint32_t GetSerializationSize (bool net) const
 
void SetInteger (int32_t value, uint32_t index=0)
 
void SetFloat (float value, uint32_t index=0)
 
void SetBool (bool value, uint32_t index=0)
 
void SetString (const std::string &value, uint32_t index=0)
 
void SetVector2D (const glm::vec2 &value, uint32_t index=0)
 
void SetVector (const glm::vec3 &value, uint32_t index=0)
 
void SetColor (const glm::vec4 &value, uint32_t index=0)
 
void SetAsset (const Asset *value, uint32_t index=0)
 
void SetByte (uint8_t value, uint32_t index=0)
 
void SetTableDatum (const TableDatum &value, uint32_t index=0)
 
void SetNode (const WeakPtr< Node > &value, uint32_t index=0)
 
void SetShort (int16_t value, uint32_t index=0)
 
void SetFunction (const ScriptFunc &value, uint32_t index=0)
 
void SetValue (const void *value, uint32_t index=0, uint32_t count=1)
 
void SetValueRaw (const void *value, uint32_t index=0)
 
void SetExternal (int32_t *data, uint32_t count=1)
 
void SetExternal (float *data, uint32_t count=1)
 
void SetExternal (bool *data, uint32_t count=1)
 
void SetExternal (std::string *data, uint32_t count=1)
 
void SetExternal (glm::vec2 *data, uint32_t count=1)
 
void SetExternal (glm::vec3 *data, uint32_t count=1)
 
void SetExternal (glm::vec4 *data, uint32_t count=1)
 
void SetExternal (AssetRef *data, uint32_t count=1)
 
void SetExternal (uint8_t *data, uint32_t count=1)
 
void SetExternal (TableDatum *data, uint32_t count=1)
 
void SetExternal (WeakPtr< Node > *data, uint32_t count=1)
 
void SetExternal (int16_t *data, uint32_t count=1)
 
void SetExternal (ScriptFunc *data, uint32_t count=1)
 
int32_t GetInteger (uint32_t index=0) const
 
float GetFloat (uint32_t index=0) const
 
bool GetBool (uint32_t index=0) const
 
const std::string & GetString (uint32_t index=0) const
 
const glm::vec2 & GetVector2D (uint32_t index=0) const
 
const glm::vec3 & GetVector (uint32_t index=0) const
 
const glm::vec4 & GetColor (uint32_t index=0) const
 
AssetGetAsset (uint32_t index=0) const
 
uint8_t GetByte (uint32_t index=0) const
 
TableDatumGetTableDatum (uint32_t index=0)
 
const TableDatumGetTableDatum (uint32_t index=0) const
 
WeakPtr< NodeGetNode (uint32_t index=0) const
 
WeakPtr< Node3DGetNode3D (uint32_t index=0) const
 
int16_t GetShort (uint32_t index=0) const
 
const ScriptFuncGetFunction (uint32_t index=0) const
 
int32_t & GetIntegerRef (uint32_t index=0)
 
float & GetFloatRef (uint32_t index=0)
 
bool & GetBoolRef (uint32_t index=0)
 
std::string & GetStringRef (uint32_t index=0)
 
glm::vec2 & GetVector2DRef (uint32_t index=0)
 
glm::vec3 & GetVectorRef (uint32_t index=0)
 
glm::vec4 & GetColorRef (uint32_t index=0)
 
AssetRefGetAssetRef (uint32_t index=0)
 
uint8_t & GetByteRef (uint32_t index=0)
 
WeakPtr< Node > & GetNodeRef (uint32_t index=0)
 
int16_t & GetShortRef (uint32_t index=0)
 
ScriptFuncGetFunctionRef (uint32_t index=0)
 
void PushBack (int32_t value)
 
void PushBack (float value)
 
void PushBack (bool value)
 
void PushBack (const std::string &value)
 
void PushBack (const char *value)
 
void PushBack (const glm::vec2 &value)
 
void PushBack (const glm::vec3 &value)
 
void PushBack (const glm::vec4 &value)
 
void PushBack (Asset *value)
 
void PushBack (const AssetRef &value)
 
void PushBack (uint8_t value)
 
TableDatumPushBackTableDatum (const TableDatum &value)
 
void PushBack (const SharedPtr< Node > &value)
 
void PushBack (const WeakPtr< Node > &value)
 
void PushBack (Node *node)
 
void PushBack (int16_t value)
 
void PushBack (const ScriptFunc &value)
 
void Erase (uint32_t index)
 
TableDatumFindTableDatum (const char *key)
 
TableDatumFindTableDatum (int32_t key)
 
TableDatumGetField (const char *key)
 
TableDatumGetField (int32_t key)
 
TableDatumAddTableField (int32_t key)
 
TableDatumAddTableField (const char *key)
 
int32_t GetIntegerField (const char *key)
 
float GetFloatField (const char *key)
 
bool GetBoolField (const char *key)
 
std::string GetStringField (const char *key)
 
glm::vec2 GetVector2DField (const char *key)
 
glm::vec3 GetVectorField (const char *key)
 
glm::vec4 GetColorField (const char *key)
 
AssetGetAssetField (const char *key)
 
WeakPtr< NodeGetNodeField (const char *key)
 
TableDatumGetTableField (const char *key)
 
ScriptFunc GetFunctionField (const char *key)
 
int32_t GetIntegerField (int32_t key)
 
float GetFloatField (int32_t key)
 
bool GetBoolField (int32_t key)
 
std::string GetStringField (int32_t key)
 
glm::vec2 GetVector2DField (int32_t key)
 
glm::vec3 GetVectorField (int32_t key)
 
glm::vec4 GetColorField (int32_t key)
 
AssetGetAssetField (int32_t key)
 
WeakPtr< NodeGetNodeField (int32_t key)
 
TableDatumGetTableField (int32_t key)
 
ScriptFunc GetFunctionField (int32_t key)
 
void SetIntegerField (const char *key, int32_t value)
 
void SetFloatField (const char *key, float value)
 
void SetBoolField (const char *key, bool value)
 
void SetStringField (const char *key, const std::string &value)
 
void SetVector2DField (const char *key, glm::vec2 value)
 
void SetVectorField (const char *key, glm::vec3 value)
 
void SetColorField (const char *key, glm::vec4 value)
 
void SetAssetField (const char *key, Asset *value)
 
void SetNodeField (const char *key, const WeakPtr< Node > &value)
 
void SetTableField (const char *key, const TableDatum &value)
 
void SetFunctionField (const char *key, const ScriptFunc &value)
 
void SetIntegerField (int32_t key, int32_t value)
 
void SetFloatField (int32_t key, float value)
 
void SetBoolField (int32_t key, bool value)
 
void SetStringField (int32_t key, const std::string &value)
 
void SetVector2DField (int32_t key, glm::vec2 value)
 
void SetVectorField (int32_t key, glm::vec3 value)
 
void SetColorField (int32_t key, glm::vec4 value)
 
void SetAssetField (int32_t key, Asset *value)
 
void SetNodeField (int32_t key, const WeakPtr< Node > &value)
 
void SetTableField (int32_t key, const TableDatum &value)
 
void SetFunctionField (int32_t key, const ScriptFunc &value)
 
bool HasField (const char *key)
 
bool HasField (int32_t key)
 
Datumoperator= (const Datum &src)
 
Datumoperator= (int32_t src)
 
Datumoperator= (float src)
 
Datumoperator= (bool src)
 
Datumoperator= (const std::string &src)
 
Datumoperator= (const char *src)
 
Datumoperator= (const glm::vec2 src)
 
Datumoperator= (const glm::vec3 &src)
 
Datumoperator= (const glm::vec4 &src)
 
Datumoperator= (Asset *src)
 
Datumoperator= (uint8_t src)
 
Datumoperator= (const WeakPtr< Node > &src)
 
Datumoperator= (int16_t src)
 
Datumoperator= (const ScriptFunc &src)
 
bool operator== (const Datum &other) const
 
bool operator== (const int32_t &other) const
 
bool operator== (const float &other) const
 
bool operator== (const bool &other) const
 
bool operator== (const std::string &other) const
 
bool operator== (const char *other) const
 
bool operator== (const glm::vec2 &other) const
 
bool operator== (const glm::vec3 &other) const
 
bool operator== (const glm::vec4 &other) const
 
bool operator== (const Asset *&other) const
 
bool operator== (const uint32_t &other) const
 
bool operator== (const uint8_t &other) const
 
bool operator== (const Node *&other) const
 
bool operator== (const WeakPtr< Node > &other) const
 
bool operator== (const SharedPtr< Node > &other) const
 
bool operator== (const int16_t &other) const
 
bool operator== (const ScriptFunc &other) const
 
bool operator!= (const Datum &other) const
 
bool operator!= (const int32_t &other) const
 
bool operator!= (const float &other) const
 
bool operator!= (const bool &other) const
 
bool operator!= (const std::string &other) const
 
bool operator!= (const char *other) const
 
bool operator!= (const glm::vec2 &other) const
 
bool operator!= (const glm::vec3 &other) const
 
bool operator!= (const glm::vec4 &other) const
 
bool operator!= (const Asset *&other) const
 
bool operator!= (const uint32_t &other) const
 
bool operator!= (const uint8_t &other) const
 
bool operator!= (const Node *&other) const
 
bool operator!= (const WeakPtr< Node > &other) const
 
bool operator!= (const SharedPtr< Node > &other) const
 
bool operator!= (const int16_t &other) const
 
bool operator!= (const ScriptFunc &other) const
 
virtual bool IsProperty () const
 
virtual bool IsTableDatum () const
 
virtual void DeepCopy (const Datum &src, bool forceInternalStorage)
 
void * GetValue (uint32_t index)
 
virtual void Destroy ()
 

Public Attributes

DatumType mType = DatumType::Count
 
bool mExternal: 1
 
bool mForceScriptArray: 1
 
bool mIsNetDatum: 1
 
ObjectmOwner = nullptr
 
DatumData mData = {}
 
DatumChangeHandlerFP mChangeHandler = nullptr
 
uint8_t mCount = 0
 
uint8_t mCapacity = 0
 

Static Public Attributes

static const Datum sNullDatum = Datum()
 

Protected Member Functions

void Reserve (uint32_t capacity)
 
void PreSet (uint32_t index, DatumType type)
 
void PreSetExternal (DatumType type)
 
void PostSetExternal (DatumType type, uint32_t count)
 
void PrePushBack (DatumType type)
 
void PreGet (uint32_t index, DatumType type) const
 
void PreAssign (DatumType type)
 
void ConstructData (DatumData &dataUnion, uint32_t index)
 
void DestructData (DatumData &dataUnion, uint32_t index)
 
void CopyData (DatumData &dst, uint32_t dstIndex, DatumData &src, uint32_t srcIndex)
 
virtual void Reset ()
 

Constructor & Destructor Documentation

◆ Datum() [1/23]

Datum::Datum ( )

◆ Datum() [2/23]

Datum::Datum ( DatumType  type,
Object owner,
void *  data,
uint32_t  count = 1u,
DatumChangeHandlerFP  changeHandler = nullptr 
)

◆ Datum() [3/23]

Datum::Datum ( const Datum src)

◆ ~Datum()

Datum::~Datum ( )
virtual

◆ Datum() [4/23]

Datum::Datum ( int32_t  value)

◆ Datum() [5/23]

Datum::Datum ( uint32_t  value)

◆ Datum() [6/23]

Datum::Datum ( float  value)

◆ Datum() [7/23]

Datum::Datum ( bool  value)

◆ Datum() [8/23]

Datum::Datum ( const char *  value)

◆ Datum() [9/23]

Datum::Datum ( const std::string &  value)

◆ Datum() [10/23]

Datum::Datum ( glm::vec2  value)

◆ Datum() [11/23]

Datum::Datum ( glm::vec3  value)

◆ Datum() [12/23]

Datum::Datum ( glm::vec4  value)

◆ Datum() [13/23]

Datum::Datum ( Asset value)

◆ Datum() [14/23]

Datum::Datum ( const AssetRef value)

◆ Datum() [15/23]

Datum::Datum ( uint8_t  value)

◆ Datum() [16/23]

Datum::Datum ( const SharedPtr< Node > &  value)

◆ Datum() [17/23]

Datum::Datum ( const WeakPtr< Node > &  value)

◆ Datum() [18/23]

Datum::Datum ( Node value)

◆ Datum() [19/23]

Datum::Datum ( int16_t  value)

◆ Datum() [20/23]

Datum::Datum ( const ScriptFunc func)

◆ Datum() [21/23]

template<typename T >
Datum::Datum ( const std::vector< T > &  arr)
inline

◆ Datum() [22/23]

template<typename T >
Datum::Datum ( const std::vector< SharedPtr< T > > &  arr)
inline

◆ Datum() [23/23]

template<typename T >
Datum::Datum ( const std::vector< WeakPtr< T > > &  arr)
inline

Member Function Documentation

◆ AddTableField() [1/2]

TableDatum * Datum::AddTableField ( const char *  key)

◆ AddTableField() [2/2]

TableDatum * Datum::AddTableField ( int32_t  key)

◆ ConstructData()

void Datum::ConstructData ( DatumData dataUnion,
uint32_t  index 
)
protected

◆ CopyData()

void Datum::CopyData ( DatumData dst,
uint32_t  dstIndex,
DatumData src,
uint32_t  srcIndex 
)
protected

◆ DeepCopy()

void Datum::DeepCopy ( const Datum src,
bool  forceInternalStorage 
)
virtual

Reimplemented in Property, and TableDatum.

◆ Destroy()

void Datum::Destroy ( )
virtual

Reimplemented in NetDatum, and Property.

◆ DestructData()

void Datum::DestructData ( DatumData dataUnion,
uint32_t  index 
)
protected

◆ Erase()

void Datum::Erase ( uint32_t  index)

◆ FindTableDatum() [1/2]

TableDatum * Datum::FindTableDatum ( const char *  key)

◆ FindTableDatum() [2/2]

TableDatum * Datum::FindTableDatum ( int32_t  key)

◆ GetAsset()

Asset * Datum::GetAsset ( uint32_t  index = 0) const

◆ GetAssetField() [1/2]

Asset * Datum::GetAssetField ( const char *  key)

◆ GetAssetField() [2/2]

Asset * Datum::GetAssetField ( int32_t  key)

◆ GetAssetRef()

AssetRef & Datum::GetAssetRef ( uint32_t  index = 0)

◆ GetBool()

bool Datum::GetBool ( uint32_t  index = 0) const

◆ GetBoolField() [1/2]

bool Datum::GetBoolField ( const char *  key)

◆ GetBoolField() [2/2]

bool Datum::GetBoolField ( int32_t  key)

◆ GetBoolRef()

bool & Datum::GetBoolRef ( uint32_t  index = 0)

◆ GetByte()

uint8_t Datum::GetByte ( uint32_t  index = 0) const

◆ GetByteRef()

uint8_t & Datum::GetByteRef ( uint32_t  index = 0)

◆ GetColor()

const glm::vec4 & Datum::GetColor ( uint32_t  index = 0) const

◆ GetColorField() [1/2]

glm::vec4 Datum::GetColorField ( const char *  key)

◆ GetColorField() [2/2]

glm::vec4 Datum::GetColorField ( int32_t  key)

◆ GetColorRef()

glm::vec4 & Datum::GetColorRef ( uint32_t  index = 0)

◆ GetCount()

uint32_t Datum::GetCount ( ) const

◆ GetDataTypeSerializationSize()

uint32_t Datum::GetDataTypeSerializationSize ( bool  net) const

◆ GetDataTypeSize()

uint32_t Datum::GetDataTypeSize ( ) const

◆ GetField() [1/2]

TableDatum * Datum::GetField ( const char *  key)

◆ GetField() [2/2]

TableDatum * Datum::GetField ( int32_t  key)

◆ GetFloat()

float Datum::GetFloat ( uint32_t  index = 0) const

◆ GetFloatField() [1/2]

float Datum::GetFloatField ( const char *  key)

◆ GetFloatField() [2/2]

float Datum::GetFloatField ( int32_t  key)

◆ GetFloatRef()

float & Datum::GetFloatRef ( uint32_t  index = 0)

◆ GetFunction()

const ScriptFunc & Datum::GetFunction ( uint32_t  index = 0) const

◆ GetFunctionField() [1/2]

ScriptFunc Datum::GetFunctionField ( const char *  key)

◆ GetFunctionField() [2/2]

ScriptFunc Datum::GetFunctionField ( int32_t  key)

◆ GetFunctionRef()

ScriptFunc & Datum::GetFunctionRef ( uint32_t  index = 0)

◆ GetInteger()

int32_t Datum::GetInteger ( uint32_t  index = 0) const

◆ GetIntegerField() [1/2]

int32_t Datum::GetIntegerField ( const char *  key)

◆ GetIntegerField() [2/2]

int32_t Datum::GetIntegerField ( int32_t  key)

◆ GetIntegerRef()

int32_t & Datum::GetIntegerRef ( uint32_t  index = 0)

◆ GetNode()

WeakPtr< Node > Datum::GetNode ( uint32_t  index = 0) const

◆ GetNode3D()

WeakPtr< Node3D > Datum::GetNode3D ( uint32_t  index = 0) const

◆ GetNodeField() [1/2]

WeakPtr< Node > Datum::GetNodeField ( const char *  key)

◆ GetNodeField() [2/2]

WeakPtr< Node > Datum::GetNodeField ( int32_t  key)

◆ GetNodeRef()

WeakPtr< Node > & Datum::GetNodeRef ( uint32_t  index = 0)

◆ GetSerializationSize()

uint32_t Datum::GetSerializationSize ( bool  net) const
virtual

Reimplemented in Property, and TableDatum.

◆ GetShort()

int16_t Datum::GetShort ( uint32_t  index = 0) const

◆ GetShortRef()

int16_t & Datum::GetShortRef ( uint32_t  index = 0)

◆ GetString()

const std::string & Datum::GetString ( uint32_t  index = 0) const

◆ GetStringField() [1/2]

std::string Datum::GetStringField ( const char *  key)

◆ GetStringField() [2/2]

std::string Datum::GetStringField ( int32_t  key)

◆ GetStringRef()

std::string & Datum::GetStringRef ( uint32_t  index = 0)

◆ GetTableDatum() [1/2]

TableDatum & Datum::GetTableDatum ( uint32_t  index = 0)

◆ GetTableDatum() [2/2]

const TableDatum & Datum::GetTableDatum ( uint32_t  index = 0) const

◆ GetTableField() [1/2]

TableDatum & Datum::GetTableField ( const char *  key)

◆ GetTableField() [2/2]

TableDatum & Datum::GetTableField ( int32_t  key)

◆ GetType()

DatumType Datum::GetType ( ) const

◆ GetValue()

void * Datum::GetValue ( uint32_t  index)

◆ GetVector()

const glm::vec3 & Datum::GetVector ( uint32_t  index = 0) const

◆ GetVector2D()

const glm::vec2 & Datum::GetVector2D ( uint32_t  index = 0) const

◆ GetVector2DField() [1/2]

glm::vec2 Datum::GetVector2DField ( const char *  key)

◆ GetVector2DField() [2/2]

glm::vec2 Datum::GetVector2DField ( int32_t  key)

◆ GetVector2DRef()

glm::vec2 & Datum::GetVector2DRef ( uint32_t  index = 0)

◆ GetVectorField() [1/2]

glm::vec3 Datum::GetVectorField ( const char *  key)

◆ GetVectorField() [2/2]

glm::vec3 Datum::GetVectorField ( int32_t  key)

◆ GetVectorRef()

glm::vec3 & Datum::GetVectorRef ( uint32_t  index = 0)

◆ HasField() [1/2]

bool Datum::HasField ( const char *  key)

◆ HasField() [2/2]

bool Datum::HasField ( int32_t  key)

◆ IsExternal()

bool Datum::IsExternal ( ) const

◆ IsProperty()

bool Datum::IsProperty ( ) const
virtual

Reimplemented in Property.

◆ IsTableDatum()

bool Datum::IsTableDatum ( ) const
virtual

Reimplemented in TableDatum.

◆ IsValid()

bool Datum::IsValid ( ) const

◆ operator Asset *()

Datum::operator Asset * ( ) const
inline

◆ operator bool()

Datum::operator bool ( ) const
inline

◆ operator const char *()

Datum::operator const char * ( ) const
inline

◆ operator float()

Datum::operator float ( ) const
inline

◆ operator glm::vec2()

Datum::operator glm::vec2 ( ) const
inline

◆ operator glm::vec3()

Datum::operator glm::vec3 ( ) const
inline

◆ operator glm::vec4()

Datum::operator glm::vec4 ( ) const
inline

◆ operator int16_t()

Datum::operator int16_t ( ) const
inline

◆ operator int32_t()

Datum::operator int32_t ( ) const
inline

◆ operator std::string()

Datum::operator std::string ( ) const
inline

◆ operator uint32_t()

Datum::operator uint32_t ( ) const
inline

◆ operator uint8_t()

Datum::operator uint8_t ( ) const
inline

◆ operator WeakPtr< Node >()

Datum::operator WeakPtr< Node > ( ) const
inline

◆ operator!=() [1/17]

bool Datum::operator!= ( const Asset *&  other) const

◆ operator!=() [2/17]

bool Datum::operator!= ( const bool &  other) const

◆ operator!=() [3/17]

bool Datum::operator!= ( const char *  other) const

◆ operator!=() [4/17]

bool Datum::operator!= ( const Datum other) const

◆ operator!=() [5/17]

bool Datum::operator!= ( const float &  other) const

◆ operator!=() [6/17]

bool Datum::operator!= ( const glm::vec2 &  other) const

◆ operator!=() [7/17]

bool Datum::operator!= ( const glm::vec3 &  other) const

◆ operator!=() [8/17]

bool Datum::operator!= ( const glm::vec4 &  other) const

◆ operator!=() [9/17]

bool Datum::operator!= ( const int16_t &  other) const

◆ operator!=() [10/17]

bool Datum::operator!= ( const int32_t &  other) const

◆ operator!=() [11/17]

bool Datum::operator!= ( const Node *&  other) const

◆ operator!=() [12/17]

bool Datum::operator!= ( const ScriptFunc other) const

◆ operator!=() [13/17]

bool Datum::operator!= ( const SharedPtr< Node > &  other) const

◆ operator!=() [14/17]

bool Datum::operator!= ( const std::string &  other) const

◆ operator!=() [15/17]

bool Datum::operator!= ( const uint32_t &  other) const

◆ operator!=() [16/17]

bool Datum::operator!= ( const uint8_t &  other) const

◆ operator!=() [17/17]

bool Datum::operator!= ( const WeakPtr< Node > &  other) const

◆ operator=() [1/14]

Datum & Datum::operator= ( Asset src)

◆ operator=() [2/14]

Datum & Datum::operator= ( bool  src)

◆ operator=() [3/14]

Datum & Datum::operator= ( const char *  src)

◆ operator=() [4/14]

Datum & Datum::operator= ( const Datum src)

◆ operator=() [5/14]

Datum & Datum::operator= ( const glm::vec2  src)

◆ operator=() [6/14]

Datum & Datum::operator= ( const glm::vec3 &  src)

◆ operator=() [7/14]

Datum & Datum::operator= ( const glm::vec4 &  src)

◆ operator=() [8/14]

Datum & Datum::operator= ( const ScriptFunc src)

◆ operator=() [9/14]

Datum & Datum::operator= ( const std::string &  src)

◆ operator=() [10/14]

Datum & Datum::operator= ( const WeakPtr< Node > &  src)

◆ operator=() [11/14]

Datum & Datum::operator= ( float  src)

◆ operator=() [12/14]

Datum & Datum::operator= ( int16_t  src)

◆ operator=() [13/14]

Datum & Datum::operator= ( int32_t  src)

◆ operator=() [14/14]

Datum & Datum::operator= ( uint8_t  src)

◆ operator==() [1/17]

bool Datum::operator== ( const Asset *&  other) const

◆ operator==() [2/17]

bool Datum::operator== ( const bool &  other) const

◆ operator==() [3/17]

bool Datum::operator== ( const char *  other) const

◆ operator==() [4/17]

bool Datum::operator== ( const Datum other) const

◆ operator==() [5/17]

bool Datum::operator== ( const float &  other) const

◆ operator==() [6/17]

bool Datum::operator== ( const glm::vec2 &  other) const

◆ operator==() [7/17]

bool Datum::operator== ( const glm::vec3 &  other) const

◆ operator==() [8/17]

bool Datum::operator== ( const glm::vec4 &  other) const

◆ operator==() [9/17]

bool Datum::operator== ( const int16_t &  other) const

◆ operator==() [10/17]

bool Datum::operator== ( const int32_t &  other) const

◆ operator==() [11/17]

bool Datum::operator== ( const Node *&  other) const

◆ operator==() [12/17]

bool Datum::operator== ( const ScriptFunc other) const

◆ operator==() [13/17]

bool Datum::operator== ( const SharedPtr< Node > &  other) const

◆ operator==() [14/17]

bool Datum::operator== ( const std::string &  other) const

◆ operator==() [15/17]

bool Datum::operator== ( const uint32_t &  other) const

◆ operator==() [16/17]

bool Datum::operator== ( const uint8_t &  other) const

◆ operator==() [17/17]

bool Datum::operator== ( const WeakPtr< Node > &  other) const

◆ PostSetExternal()

void Datum::PostSetExternal ( DatumType  type,
uint32_t  count 
)
protected

◆ PreAssign()

void Datum::PreAssign ( DatumType  type)
protected

◆ PreGet()

void Datum::PreGet ( uint32_t  index,
DatumType  type 
) const
protected

◆ PrePushBack()

void Datum::PrePushBack ( DatumType  type)
protected

◆ PreSet()

void Datum::PreSet ( uint32_t  index,
DatumType  type 
)
protected

◆ PreSetExternal()

void Datum::PreSetExternal ( DatumType  type)
protected

◆ PushBack() [1/16]

void Datum::PushBack ( Asset value)

◆ PushBack() [2/16]

void Datum::PushBack ( bool  value)

◆ PushBack() [3/16]

void Datum::PushBack ( const AssetRef value)

◆ PushBack() [4/16]

void Datum::PushBack ( const char *  value)

◆ PushBack() [5/16]

void Datum::PushBack ( const glm::vec2 &  value)

◆ PushBack() [6/16]

void Datum::PushBack ( const glm::vec3 &  value)

◆ PushBack() [7/16]

void Datum::PushBack ( const glm::vec4 &  value)

◆ PushBack() [8/16]

void Datum::PushBack ( const ScriptFunc value)

◆ PushBack() [9/16]

void Datum::PushBack ( const SharedPtr< Node > &  value)

◆ PushBack() [10/16]

void Datum::PushBack ( const std::string &  value)

◆ PushBack() [11/16]

void Datum::PushBack ( const WeakPtr< Node > &  value)

◆ PushBack() [12/16]

void Datum::PushBack ( float  value)

◆ PushBack() [13/16]

void Datum::PushBack ( int16_t  value)

◆ PushBack() [14/16]

void Datum::PushBack ( int32_t  value)

◆ PushBack() [15/16]

void Datum::PushBack ( Node node)

◆ PushBack() [16/16]

void Datum::PushBack ( uint8_t  value)

◆ PushBackTableDatum()

TableDatum * Datum::PushBackTableDatum ( const TableDatum value)

◆ ReadStream()

void Datum::ReadStream ( Stream stream,
uint32_t  version,
bool  net,
bool  external 
)
virtual

Reimplemented in Property, and TableDatum.

◆ Reserve()

void Datum::Reserve ( uint32_t  capacity)
protected

◆ Reset()

void Datum::Reset ( )
protectedvirtual

Reimplemented in Property.

◆ SetAsset()

void Datum::SetAsset ( const Asset value,
uint32_t  index = 0 
)

◆ SetAssetField() [1/2]

void Datum::SetAssetField ( const char *  key,
Asset value 
)

◆ SetAssetField() [2/2]

void Datum::SetAssetField ( int32_t  key,
Asset value 
)

◆ SetBool()

void Datum::SetBool ( bool  value,
uint32_t  index = 0 
)

◆ SetBoolField() [1/2]

void Datum::SetBoolField ( const char *  key,
bool  value 
)

◆ SetBoolField() [2/2]

void Datum::SetBoolField ( int32_t  key,
bool  value 
)

◆ SetByte()

void Datum::SetByte ( uint8_t  value,
uint32_t  index = 0 
)

◆ SetColor()

void Datum::SetColor ( const glm::vec4 &  value,
uint32_t  index = 0 
)

◆ SetColorField() [1/2]

void Datum::SetColorField ( const char *  key,
glm::vec4  value 
)

◆ SetColorField() [2/2]

void Datum::SetColorField ( int32_t  key,
glm::vec4  value 
)

◆ SetCount()

void Datum::SetCount ( uint32_t  count)

◆ SetExternal() [1/13]

void Datum::SetExternal ( AssetRef data,
uint32_t  count = 1 
)

◆ SetExternal() [2/13]

void Datum::SetExternal ( bool *  data,
uint32_t  count = 1 
)

◆ SetExternal() [3/13]

void Datum::SetExternal ( float *  data,
uint32_t  count = 1 
)

◆ SetExternal() [4/13]

void Datum::SetExternal ( glm::vec2 *  data,
uint32_t  count = 1 
)

◆ SetExternal() [5/13]

void Datum::SetExternal ( glm::vec3 *  data,
uint32_t  count = 1 
)

◆ SetExternal() [6/13]

void Datum::SetExternal ( glm::vec4 *  data,
uint32_t  count = 1 
)

◆ SetExternal() [7/13]

void Datum::SetExternal ( int16_t *  data,
uint32_t  count = 1 
)

◆ SetExternal() [8/13]

void Datum::SetExternal ( int32_t *  data,
uint32_t  count = 1 
)

◆ SetExternal() [9/13]

void Datum::SetExternal ( ScriptFunc data,
uint32_t  count = 1 
)

◆ SetExternal() [10/13]

void Datum::SetExternal ( std::string *  data,
uint32_t  count = 1 
)

◆ SetExternal() [11/13]

void Datum::SetExternal ( TableDatum data,
uint32_t  count = 1 
)

◆ SetExternal() [12/13]

void Datum::SetExternal ( uint8_t *  data,
uint32_t  count = 1 
)

◆ SetExternal() [13/13]

void Datum::SetExternal ( WeakPtr< Node > *  data,
uint32_t  count = 1 
)

◆ SetFloat()

void Datum::SetFloat ( float  value,
uint32_t  index = 0 
)

◆ SetFloatField() [1/2]

void Datum::SetFloatField ( const char *  key,
float  value 
)

◆ SetFloatField() [2/2]

void Datum::SetFloatField ( int32_t  key,
float  value 
)

◆ SetFunction()

void Datum::SetFunction ( const ScriptFunc value,
uint32_t  index = 0 
)

◆ SetFunctionField() [1/2]

void Datum::SetFunctionField ( const char *  key,
const ScriptFunc value 
)

◆ SetFunctionField() [2/2]

void Datum::SetFunctionField ( int32_t  key,
const ScriptFunc value 
)

◆ SetInteger()

void Datum::SetInteger ( int32_t  value,
uint32_t  index = 0 
)

◆ SetIntegerField() [1/2]

void Datum::SetIntegerField ( const char *  key,
int32_t  value 
)

◆ SetIntegerField() [2/2]

void Datum::SetIntegerField ( int32_t  key,
int32_t  value 
)

◆ SetNode()

void Datum::SetNode ( const WeakPtr< Node > &  value,
uint32_t  index = 0 
)

◆ SetNodeField() [1/2]

void Datum::SetNodeField ( const char *  key,
const WeakPtr< Node > &  value 
)

◆ SetNodeField() [2/2]

void Datum::SetNodeField ( int32_t  key,
const WeakPtr< Node > &  value 
)

◆ SetShort()

void Datum::SetShort ( int16_t  value,
uint32_t  index = 0 
)

◆ SetString()

void Datum::SetString ( const std::string &  value,
uint32_t  index = 0 
)

◆ SetStringField() [1/2]

void Datum::SetStringField ( const char *  key,
const std::string &  value 
)

◆ SetStringField() [2/2]

void Datum::SetStringField ( int32_t  key,
const std::string &  value 
)

◆ SetTableDatum()

void Datum::SetTableDatum ( const TableDatum value,
uint32_t  index = 0 
)

◆ SetTableField() [1/2]

void Datum::SetTableField ( const char *  key,
const TableDatum value 
)

◆ SetTableField() [2/2]

void Datum::SetTableField ( int32_t  key,
const TableDatum value 
)

◆ SetType()

void Datum::SetType ( DatumType  type)

◆ SetValue()

void Datum::SetValue ( const void *  value,
uint32_t  index = 0,
uint32_t  count = 1 
)

◆ SetValueRaw()

void Datum::SetValueRaw ( const void *  value,
uint32_t  index = 0 
)

◆ SetVector()

void Datum::SetVector ( const glm::vec3 &  value,
uint32_t  index = 0 
)

◆ SetVector2D()

void Datum::SetVector2D ( const glm::vec2 &  value,
uint32_t  index = 0 
)

◆ SetVector2DField() [1/2]

void Datum::SetVector2DField ( const char *  key,
glm::vec2  value 
)

◆ SetVector2DField() [2/2]

void Datum::SetVector2DField ( int32_t  key,
glm::vec2  value 
)

◆ SetVectorField() [1/2]

void Datum::SetVectorField ( const char *  key,
glm::vec3  value 
)

◆ SetVectorField() [2/2]

void Datum::SetVectorField ( int32_t  key,
glm::vec3  value 
)

◆ WriteStream()

void Datum::WriteStream ( Stream stream,
bool  net 
) const
virtual

Reimplemented in Property, and TableDatum.

Member Data Documentation

◆ mCapacity

uint8_t Datum::mCapacity = 0

◆ mChangeHandler

DatumChangeHandlerFP Datum::mChangeHandler = nullptr

◆ mCount

uint8_t Datum::mCount = 0

◆ mData

DatumData Datum::mData = {}

◆ mExternal

bool Datum::mExternal

◆ mForceScriptArray

bool Datum::mForceScriptArray

◆ mIsNetDatum

bool Datum::mIsNetDatum

◆ mOwner

Object* Datum::mOwner = nullptr

◆ mType

DatumType Datum::mType = DatumType::Count

◆ sNullDatum

const Datum Datum::sNullDatum = Datum()
static

The documentation for this class was generated from the following files: