Game Engine
Architected a C++ game engine with a runtime reflection system - employing Chain of
Loading...
Searching...
No Matches
Fiea::Engine::Content::Datum Class Reference

#include <Datum.h>

Public Types

enum class  _DatumType {
  Unknown , Int , Float , String ,
  Pointer , Table , Vec4 , Mat4x4
}

Public Member Functions

 Datum ()
 ~Datum ()
 Datum (const Datum &other)
Datumoperator= (const Datum &rhs)
 Datum (Datum &&other) noexcept
Datumoperator= (Datum &&rhs)
 Datum (int32_t value)
 Datum (float value)
 Datum (string value)
 Datum (RTTI *value)
 Datum (Scope *value)
 Datum (Vec4 value)
 Datum (Mat4x4 value)
 Datum (std::initializer_list< int32_t > values)
 Datum (std::initializer_list< float > values)
 Datum (std::initializer_list< string > values)
 Datum (std::initializer_list< RTTI * > values)
 Datum (std::initializer_list< Scope * > values)
 Datum (std::initializer_list< Vec4 > values)
 Datum (std::initializer_list< Mat4x4 > values)
Datumoperator= (const int32_t value)
Datumoperator= (const float value)
Datumoperator= (const string value)
Datumoperator= (RTTI *const value)
Datumoperator= (Scope *const value)
Datumoperator= (const Vec4 value)
Datumoperator= (const Mat4x4 value)
bool operator== (const Datum &other) const
bool operator!= (const Datum &other) const
void RemoveAt (size_t idx)
void SetType (_DatumType typeToSet)
bool IsType (_DatumType typeToCheck) const
template<typename U>
void Set (U &&val, size_t idx=0)
int32_t & GetAsInt (size_t idx=0)
float & GetAsFloat (size_t idx=0)
stringGetAsString (size_t idx=0)
RTTI *& GetAsPointer (size_t idx=0)
Scope *& GetAsTable (size_t idx=0)
Vec4GetAsVec4 (size_t idx=0)
Mat4x4GetAsMat4x4 (size_t idx=0)
const int32_t & GetAsInt (size_t idx=0) const
const float & GetAsFloat (size_t idx=0) const
const stringGetAsString (size_t idx=0) const
RTTI *const & GetAsPointer (size_t idx=0) const
Scope *const & GetAsTable (size_t idx=0) const
const Vec4GetAsVec4 (size_t idx=0) const
const Mat4x4GetAsMat4x4 (size_t idx=0) const
template<typename U>
void Push (U &&val)
void ResizeArray (const _DatumType &type)
void Pop ()
void Clear ()
size_t Size () const
size_t Capacity () const
void SetFromString (const string &, size_t idx=0)
string GetToString (size_t idx=0) const
void PushFromString (const string &)
template<typename T>
void SetStorage (T *items, size_t count=1)

Friends

class Scope

Member Enumeration Documentation

◆ _DatumType

Enumerator
Unknown 
Int 
Float 
String 
Pointer 
Table 
Vec4 
Mat4x4 

Constructor & Destructor Documentation

◆ Datum() [1/17]

Fiea::Engine::Content::Datum::Datum ( )
Here is the caller graph for this function:

◆ ~Datum()

Fiea::Engine::Content::Datum::~Datum ( )

◆ Datum() [2/17]

Fiea::Engine::Content::Datum::Datum ( const Datum & other)
Here is the call graph for this function:

◆ Datum() [3/17]

Fiea::Engine::Content::Datum::Datum ( Datum && other)
noexcept
Here is the call graph for this function:

◆ Datum() [4/17]

Fiea::Engine::Content::Datum::Datum ( int32_t value)
explicit

◆ Datum() [5/17]

Fiea::Engine::Content::Datum::Datum ( float value)
explicit

◆ Datum() [6/17]

Fiea::Engine::Content::Datum::Datum ( string value)
explicit

◆ Datum() [7/17]

Fiea::Engine::Content::Datum::Datum ( RTTI * value)
explicit

◆ Datum() [8/17]

Fiea::Engine::Content::Datum::Datum ( Scope * value)
explicit
Here is the call graph for this function:

◆ Datum() [9/17]

Fiea::Engine::Content::Datum::Datum ( Vec4 value)
explicit

◆ Datum() [10/17]

Fiea::Engine::Content::Datum::Datum ( Mat4x4 value)
explicit

◆ Datum() [11/17]

Fiea::Engine::Content::Datum::Datum ( std::initializer_list< int32_t > values)

◆ Datum() [12/17]

Fiea::Engine::Content::Datum::Datum ( std::initializer_list< float > values)

◆ Datum() [13/17]

Fiea::Engine::Content::Datum::Datum ( std::initializer_list< string > values)

◆ Datum() [14/17]

Fiea::Engine::Content::Datum::Datum ( std::initializer_list< RTTI * > values)

◆ Datum() [15/17]

Fiea::Engine::Content::Datum::Datum ( std::initializer_list< Scope * > values)
Here is the call graph for this function:

◆ Datum() [16/17]

Fiea::Engine::Content::Datum::Datum ( std::initializer_list< Vec4 > values)

◆ Datum() [17/17]

Fiea::Engine::Content::Datum::Datum ( std::initializer_list< Mat4x4 > values)

Member Function Documentation

◆ Capacity()

size_t Fiea::Engine::Content::Datum::Capacity ( ) const
Here is the caller graph for this function:

◆ Clear()

void Fiea::Engine::Content::Datum::Clear ( )
Here is the caller graph for this function:

◆ GetAsFloat() [1/2]

float & Fiea::Engine::Content::Datum::GetAsFloat ( size_t idx = 0)
Here is the caller graph for this function:

◆ GetAsFloat() [2/2]

const float & Fiea::Engine::Content::Datum::GetAsFloat ( size_t idx = 0) const

◆ GetAsInt() [1/2]

int32_t & Fiea::Engine::Content::Datum::GetAsInt ( size_t idx = 0)
Here is the caller graph for this function:

◆ GetAsInt() [2/2]

const int32_t & Fiea::Engine::Content::Datum::GetAsInt ( size_t idx = 0) const

◆ GetAsMat4x4() [1/2]

Mat4x4 & Fiea::Engine::Content::Datum::GetAsMat4x4 ( size_t idx = 0)
Here is the caller graph for this function:

◆ GetAsMat4x4() [2/2]

const Mat4x4 & Fiea::Engine::Content::Datum::GetAsMat4x4 ( size_t idx = 0) const

◆ GetAsPointer() [1/2]

RTTI *& Fiea::Engine::Content::Datum::GetAsPointer ( size_t idx = 0)
Here is the caller graph for this function:

◆ GetAsPointer() [2/2]

RTTI *const & Fiea::Engine::Content::Datum::GetAsPointer ( size_t idx = 0) const

◆ GetAsString() [1/2]

string & Fiea::Engine::Content::Datum::GetAsString ( size_t idx = 0)
Here is the caller graph for this function:

◆ GetAsString() [2/2]

const string & Fiea::Engine::Content::Datum::GetAsString ( size_t idx = 0) const

◆ GetAsTable() [1/2]

Scope *& Fiea::Engine::Content::Datum::GetAsTable ( size_t idx = 0)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ GetAsTable() [2/2]

Scope *const & Fiea::Engine::Content::Datum::GetAsTable ( size_t idx = 0) const
Here is the call graph for this function:

◆ GetAsVec4() [1/2]

Vec4 & Fiea::Engine::Content::Datum::GetAsVec4 ( size_t idx = 0)
Here is the caller graph for this function:

◆ GetAsVec4() [2/2]

const Vec4 & Fiea::Engine::Content::Datum::GetAsVec4 ( size_t idx = 0) const

◆ GetToString()

string Fiea::Engine::Content::Datum::GetToString ( size_t idx = 0) const
Here is the caller graph for this function:

◆ IsType()

bool Fiea::Engine::Content::Datum::IsType ( _DatumType typeToCheck) const
Here is the caller graph for this function:

◆ operator!=()

bool Fiea::Engine::Content::Datum::operator!= ( const Datum & other) const
Here is the call graph for this function:

◆ operator=() [1/9]

Datum & Fiea::Engine::Content::Datum::operator= ( const Datum & rhs)
Here is the call graph for this function:

◆ operator=() [2/9]

Datum & Fiea::Engine::Content::Datum::operator= ( const float value)
Here is the call graph for this function:

◆ operator=() [3/9]

Datum & Fiea::Engine::Content::Datum::operator= ( const int32_t value)
Here is the call graph for this function:

◆ operator=() [4/9]

Datum & Fiea::Engine::Content::Datum::operator= ( const Mat4x4 value)
Here is the call graph for this function:

◆ operator=() [5/9]

Datum & Fiea::Engine::Content::Datum::operator= ( const string value)
Here is the call graph for this function:

◆ operator=() [6/9]

Datum & Fiea::Engine::Content::Datum::operator= ( const Vec4 value)
Here is the call graph for this function:

◆ operator=() [7/9]

Datum & Fiea::Engine::Content::Datum::operator= ( Datum && rhs)
Here is the call graph for this function:

◆ operator=() [8/9]

Datum & Fiea::Engine::Content::Datum::operator= ( RTTI *const value)
Here is the call graph for this function:

◆ operator=() [9/9]

Datum & Fiea::Engine::Content::Datum::operator= ( Scope *const value)
Here is the call graph for this function:

◆ operator==()

bool Fiea::Engine::Content::Datum::operator== ( const Datum & other) const
Here is the call graph for this function:

◆ Pop()

void Fiea::Engine::Content::Datum::Pop ( )
Here is the caller graph for this function:

◆ Push()

template<typename U>
void Fiea::Engine::Content::Datum::Push ( U && val)
inline
Here is the call graph for this function:
Here is the caller graph for this function:

◆ PushFromString()

void Fiea::Engine::Content::Datum::PushFromString ( const string & value)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ RemoveAt()

void Fiea::Engine::Content::Datum::RemoveAt ( size_t idx)
Here is the caller graph for this function:

◆ ResizeArray()

void Fiea::Engine::Content::Datum::ResizeArray ( const _DatumType & type)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ Set()

template<typename U>
void Fiea::Engine::Content::Datum::Set ( U && val,
size_t idx = 0 )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ SetFromString()

void Fiea::Engine::Content::Datum::SetFromString ( const string & value,
size_t idx = 0 )
Here is the caller graph for this function:

◆ SetStorage()

template<typename T>
void Fiea::Engine::Content::Datum::SetStorage ( T * items,
size_t count = 1 )
inline
Here is the call graph for this function:
Here is the caller graph for this function:

◆ SetType()

void Fiea::Engine::Content::Datum::SetType ( _DatumType typeToSet)
Here is the caller graph for this function:

◆ Size()

size_t Fiea::Engine::Content::Datum::Size ( ) const
Here is the caller graph for this function:

◆ Scope

friend class Scope
friend

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