Cogs.Core
Public Member Functions | Private Attributes | List of all members
Cogs::Core::ValueVariant Struct Reference

Public Member Functions

 ValueVariant (const ValueVariant &original)
 
 ValueVariant (float value)
 
 ValueVariant (bool value)
 
 ValueVariant (double value)
 
 ValueVariant (int value)
 
 ValueVariant (const char *value)
 
 ValueVariant (const StringView &value)
 
 ValueVariant (glm::vec2 value)
 
 ValueVariant (glm::vec3 value)
 
 ValueVariant (glm::vec4 value)
 
bool isNumericType (ParsedDataType type) const
 
bool isNumeric () const
 
bool isFloat () const
 
float getFloat (float defaultValue=0.0f) const
 
double getDouble (double defaultValue=0.0) const
 
bool getBool (bool defaultValue=false) const
 
int getInt (int defaultValue=false) const
 
glm::vec2 getVec2 (glm::vec2 defaultValue={}) const
 
glm::vec3 getVec3 (glm::vec3 defaultValue={}) const
 
glm::vec4 getVec4 (glm::vec4 defaultValue={}) const
 
StringView getString (StringView defaultValue) const
 
ParsedDataType getType () const
 
ValueVariantoperator= (const ValueVariant &rhs)
 

Private Attributes

union {
   float   floatValue
 
   glm::vec2   float2Value
 
   glm::vec3   float3Value
 
   glm::vec4   float4Value
 
   glm::mat4   float4x4Value
 
   int   intValue
 
   glm::ivec2   int2Value
 
   glm::ivec3   int3Value
 
   glm::ivec4   int4Value
 
   uint32_t   uintValue
 
   glm::uvec2   uint2Value
 
   glm::uvec3   uint3Value
 
   glm::uvec4   uint4Value
 
   bool   boolValue
 
   double   doubleValue
 
}; 
 
std::string stringValue
 
ParsedDataType type = ParsedDataType::Unknown
 

Detailed Description

Definition at line 38 of file ValueVariant.h.

Constructor & Destructor Documentation

◆ ValueVariant() [1/11]

Cogs::Core::ValueVariant::ValueVariant ( )
inline

Definition at line 40 of file ValueVariant.h.

◆ ValueVariant() [2/11]

Cogs::Core::ValueVariant::ValueVariant ( const ValueVariant original)

Definition at line 14 of file ValueVariant.cpp.

◆ ValueVariant() [3/11]

Cogs::Core::ValueVariant::ValueVariant ( float  value)
inlineexplicit

Definition at line 42 of file ValueVariant.h.

◆ ValueVariant() [4/11]

Cogs::Core::ValueVariant::ValueVariant ( bool  value)
inlineexplicit

Definition at line 43 of file ValueVariant.h.

◆ ValueVariant() [5/11]

Cogs::Core::ValueVariant::ValueVariant ( double  value)
inlineexplicit

Definition at line 44 of file ValueVariant.h.

◆ ValueVariant() [6/11]

Cogs::Core::ValueVariant::ValueVariant ( int  value)
inlineexplicit

Definition at line 45 of file ValueVariant.h.

◆ ValueVariant() [7/11]

Cogs::Core::ValueVariant::ValueVariant ( const char *  value)
inlineexplicit

Definition at line 46 of file ValueVariant.h.

◆ ValueVariant() [8/11]

Cogs::Core::ValueVariant::ValueVariant ( const StringView value)
inlineexplicit

Definition at line 47 of file ValueVariant.h.

◆ ValueVariant() [9/11]

Cogs::Core::ValueVariant::ValueVariant ( glm::vec2  value)
inlineexplicit

Definition at line 48 of file ValueVariant.h.

◆ ValueVariant() [10/11]

Cogs::Core::ValueVariant::ValueVariant ( glm::vec3  value)
inlineexplicit

Definition at line 49 of file ValueVariant.h.

◆ ValueVariant() [11/11]

Cogs::Core::ValueVariant::ValueVariant ( glm::vec4  value)
inlineexplicit

Definition at line 50 of file ValueVariant.h.

Member Function Documentation

◆ getBool()

bool Cogs::Core::ValueVariant::getBool ( bool  defaultValue = false) const

Definition at line 57 of file ValueVariant.cpp.

◆ getDouble()

double Cogs::Core::ValueVariant::getDouble ( double  defaultValue = 0.0) const

Definition at line 36 of file ValueVariant.cpp.

◆ getFloat()

float Cogs::Core::ValueVariant::getFloat ( float  defaultValue = 0.0f) const

Definition at line 26 of file ValueVariant.cpp.

◆ getInt()

int Cogs::Core::ValueVariant::getInt ( int  defaultValue = false) const

Definition at line 74 of file ValueVariant.cpp.

◆ getString()

Cogs::StringView Cogs::Core::ValueVariant::getString ( StringView  defaultValue) const

Definition at line 160 of file ValueVariant.cpp.

◆ getType()

ParsedDataType Cogs::Core::ValueVariant::getType ( ) const
inline

Definition at line 65 of file ValueVariant.h.

◆ getVec2()

glm::vec2 Cogs::Core::ValueVariant::getVec2 ( glm::vec2  defaultValue = {}) const

Definition at line 95 of file ValueVariant.cpp.

◆ getVec3()

glm::vec3 Cogs::Core::ValueVariant::getVec3 ( glm::vec3  defaultValue = {}) const

Definition at line 118 of file ValueVariant.cpp.

◆ getVec4()

glm::vec4 Cogs::Core::ValueVariant::getVec4 ( glm::vec4  defaultValue = {}) const

Definition at line 139 of file ValueVariant.cpp.

◆ isFloat()

bool Cogs::Core::ValueVariant::isFloat ( ) const
inline

Definition at line 54 of file ValueVariant.h.

◆ isNumeric()

bool Cogs::Core::ValueVariant::isNumeric ( ) const
inline

Definition at line 53 of file ValueVariant.h.

◆ isNumericType()

bool Cogs::Core::ValueVariant::isNumericType ( ParsedDataType  type) const

Definition at line 19 of file ValueVariant.cpp.

◆ operator=()

Cogs::Core::ValueVariant & Cogs::Core::ValueVariant::operator= ( const ValueVariant rhs)

Definition at line 165 of file ValueVariant.cpp.

Member Data Documentation

◆ boolValue

bool Cogs::Core::ValueVariant::boolValue

Definition at line 85 of file ValueVariant.h.

◆ doubleValue

double Cogs::Core::ValueVariant::doubleValue

Definition at line 86 of file ValueVariant.h.

◆ float2Value

glm::vec2 Cogs::Core::ValueVariant::float2Value

Definition at line 73 of file ValueVariant.h.

◆ float3Value

glm::vec3 Cogs::Core::ValueVariant::float3Value

Definition at line 74 of file ValueVariant.h.

◆ float4Value

glm::vec4 Cogs::Core::ValueVariant::float4Value

Definition at line 75 of file ValueVariant.h.

◆ float4x4Value

glm::mat4 Cogs::Core::ValueVariant::float4x4Value

Definition at line 76 of file ValueVariant.h.

◆ floatValue

float Cogs::Core::ValueVariant::floatValue

Definition at line 72 of file ValueVariant.h.

◆ int2Value

glm::ivec2 Cogs::Core::ValueVariant::int2Value

Definition at line 78 of file ValueVariant.h.

◆ int3Value

glm::ivec3 Cogs::Core::ValueVariant::int3Value

Definition at line 79 of file ValueVariant.h.

◆ int4Value

glm::ivec4 Cogs::Core::ValueVariant::int4Value

Definition at line 80 of file ValueVariant.h.

◆ intValue

int Cogs::Core::ValueVariant::intValue

Definition at line 77 of file ValueVariant.h.

◆ stringValue

std::string Cogs::Core::ValueVariant::stringValue
private

Definition at line 89 of file ValueVariant.h.

◆ type

ParsedDataType Cogs::Core::ValueVariant::type = ParsedDataType::Unknown
private

Definition at line 91 of file ValueVariant.h.

◆ uint2Value

glm::uvec2 Cogs::Core::ValueVariant::uint2Value

Definition at line 82 of file ValueVariant.h.

◆ uint3Value

glm::uvec3 Cogs::Core::ValueVariant::uint3Value

Definition at line 83 of file ValueVariant.h.

◆ uint4Value

glm::uvec4 Cogs::Core::ValueVariant::uint4Value

Definition at line 84 of file ValueVariant.h.

◆ uintValue

uint32_t Cogs::Core::ValueVariant::uintValue

Definition at line 81 of file ValueVariant.h.


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