Game Engine
Architected a C++ game engine with a runtime reflection system - employing Chain of
|
#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) | |
Datum & | operator= (const Datum &rhs) |
Datum (Datum &&other) noexcept | |
Datum & | operator= (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) | |
Datum & | operator= (const int32_t value) |
Datum & | operator= (const float value) |
Datum & | operator= (const string value) |
Datum & | operator= (RTTI *const value) |
Datum & | operator= (Scope *const value) |
Datum & | operator= (const Vec4 value) |
Datum & | operator= (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) |
string & | GetAsString (size_t idx=0) |
RTTI *& | GetAsPointer (size_t idx=0) |
Scope *& | GetAsTable (size_t idx=0) |
Vec4 & | GetAsVec4 (size_t idx=0) |
Mat4x4 & | GetAsMat4x4 (size_t idx=0) |
const int32_t & | GetAsInt (size_t idx=0) const |
const float & | GetAsFloat (size_t idx=0) const |
const string & | GetAsString (size_t idx=0) const |
RTTI *const & | GetAsPointer (size_t idx=0) const |
Scope *const & | GetAsTable (size_t idx=0) const |
const Vec4 & | GetAsVec4 (size_t idx=0) const |
const Mat4x4 & | GetAsMat4x4 (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 |
|
strong |
Fiea::Engine::Content::Datum::Datum | ( | ) |
Fiea::Engine::Content::Datum::~Datum | ( | ) |
Fiea::Engine::Content::Datum::Datum | ( | const Datum & | other | ) |
|
noexcept |
|
explicit |
|
explicit |
|
explicit |
|
explicit |
|
explicit |
|
explicit |
|
explicit |
Fiea::Engine::Content::Datum::Datum | ( | std::initializer_list< int32_t > | values | ) |
Fiea::Engine::Content::Datum::Datum | ( | std::initializer_list< float > | values | ) |
Fiea::Engine::Content::Datum::Datum | ( | std::initializer_list< string > | values | ) |
Fiea::Engine::Content::Datum::Datum | ( | std::initializer_list< RTTI * > | values | ) |
Fiea::Engine::Content::Datum::Datum | ( | std::initializer_list< Scope * > | values | ) |
Fiea::Engine::Content::Datum::Datum | ( | std::initializer_list< Vec4 > | values | ) |
Fiea::Engine::Content::Datum::Datum | ( | std::initializer_list< Mat4x4 > | values | ) |
size_t Fiea::Engine::Content::Datum::Capacity | ( | ) | const |
void Fiea::Engine::Content::Datum::Clear | ( | ) |
float & Fiea::Engine::Content::Datum::GetAsFloat | ( | size_t | idx = 0 | ) |
const float & Fiea::Engine::Content::Datum::GetAsFloat | ( | size_t | idx = 0 | ) | const |
int32_t & Fiea::Engine::Content::Datum::GetAsInt | ( | size_t | idx = 0 | ) |
const int32_t & Fiea::Engine::Content::Datum::GetAsInt | ( | size_t | idx = 0 | ) | const |
Mat4x4 & Fiea::Engine::Content::Datum::GetAsMat4x4 | ( | size_t | idx = 0 | ) |
const Mat4x4 & Fiea::Engine::Content::Datum::GetAsMat4x4 | ( | size_t | idx = 0 | ) | const |
RTTI *& Fiea::Engine::Content::Datum::GetAsPointer | ( | size_t | idx = 0 | ) |
RTTI *const & Fiea::Engine::Content::Datum::GetAsPointer | ( | size_t | idx = 0 | ) | const |
string & Fiea::Engine::Content::Datum::GetAsString | ( | size_t | idx = 0 | ) |
const string & Fiea::Engine::Content::Datum::GetAsString | ( | size_t | idx = 0 | ) | const |
Scope *& Fiea::Engine::Content::Datum::GetAsTable | ( | size_t | idx = 0 | ) |
Scope *const & Fiea::Engine::Content::Datum::GetAsTable | ( | size_t | idx = 0 | ) | const |
Vec4 & Fiea::Engine::Content::Datum::GetAsVec4 | ( | size_t | idx = 0 | ) |
const Vec4 & Fiea::Engine::Content::Datum::GetAsVec4 | ( | size_t | idx = 0 | ) | const |
string Fiea::Engine::Content::Datum::GetToString | ( | size_t | idx = 0 | ) | const |
bool Fiea::Engine::Content::Datum::IsType | ( | _DatumType | typeToCheck | ) | const |
bool Fiea::Engine::Content::Datum::operator!= | ( | const Datum & | other | ) | const |
Datum & Fiea::Engine::Content::Datum::operator= | ( | const float | value | ) |
Datum & Fiea::Engine::Content::Datum::operator= | ( | const int32_t | value | ) |
bool Fiea::Engine::Content::Datum::operator== | ( | const Datum & | other | ) | const |
void Fiea::Engine::Content::Datum::Pop | ( | ) |
|
inline |
void Fiea::Engine::Content::Datum::PushFromString | ( | const string & | value | ) |
void Fiea::Engine::Content::Datum::RemoveAt | ( | size_t | idx | ) |
void Fiea::Engine::Content::Datum::ResizeArray | ( | const _DatumType & | type | ) |
void Fiea::Engine::Content::Datum::Set | ( | U && | val, |
size_t | idx = 0 ) |
void Fiea::Engine::Content::Datum::SetFromString | ( | const string & | value, |
size_t | idx = 0 ) |
|
inline |
void Fiea::Engine::Content::Datum::SetType | ( | _DatumType | typeToSet | ) |
size_t Fiea::Engine::Content::Datum::Size | ( | ) | const |
|
friend |