CeresEngine 0.2.0
A game development framework
Loading...
Searching...
No Matches
CeresEngine::ShaderCompiler::Variant Class Reference

#include <CeresEngine/Material/ShaderCompiler/Variant.hpp>

Public Types

enum class  Types {
  Undefined , Bool , Int , Real ,
  Array
}
 
using BoolType = bool
 
using IntType = long long
 
using RealType = double
 

Public Member Functions

 Variant ()=default
 
 Variant (const Variant &)=default
 
 Variant (Variant &&)=default
 
 Variant (BoolType value)
 
 Variant (IntType value)
 
 Variant (RealType value)
 
 Variant (const Vector< Variant > &subValues)
 
 Variant (Vector< Variant > &&subValues)
 
Variant & operator= (const Variant &)=default
 
Variant & operator= (Variant &&)=default
 
Variant & operator+= (const Variant &rhs)
 
Variant & operator-= (const Variant &rhs)
 
Variant & operator*= (const Variant &rhs)
 
Variant & operator/= (const Variant &rhs)
 
Variant & operator%= (const Variant &rhs)
 
Variant & operator|= (const Variant &rhs)
 
Variant & operator&= (const Variant &rhs)
 
Variant & operator^= (const Variant &rhs)
 
Variant & operator<<= (const Variant &rhs)
 
Variant & operator>>= (const Variant &rhs)
 
Variant & operator++ ()
 
Variant & operator-- ()
 
Variant operator- ()
 
Variant operator~ ()
 
Variant operator! ()
 
BoolType toBoolean () const
 
IntType toInteger () const
 
RealType toReal () const
 
Int32 compareWith (const Variant &rhs) const
 
Variant arraySub (std::size_t idx) const
 
bool isValid () const
 
bool isBoolean () const
 
bool isInteger () const
 
bool isReal () const
 
bool isArray () const
 
BoolType getBoolean () const
 
IntType getInteger () const
 
RealType getReal () const
 
const Vector< Variant > & getArray () const
 
Types getType () const
 
 operator bool () const
 
String toString () const
 
bool isRepresentableAsString () const
 

Static Public Member Functions

static Variant parseFrom (const String &s)
 
static Types findCommonType (const Variant &lhs, const Variant &rhs)
 

Private Attributes

Types mType = Types::Undefined
 
BoolType mBool = false
 
IntType mInt = 0
 
RealType mReal = 0.0
 
Vector< Variant > mArray
 

Member Typedef Documentation

◆ BoolType

◆ IntType

◆ RealType

Member Enumeration Documentation

◆ Types

Enumerator
Undefined 
Bool 
Int 
Real 
Array 

Constructor & Destructor Documentation

◆ Variant() [1/8]

CeresEngine::ShaderCompiler::Variant::Variant ( )
default

◆ Variant() [2/8]

CeresEngine::ShaderCompiler::Variant::Variant ( const Variant &  )
default

◆ Variant() [3/8]

CeresEngine::ShaderCompiler::Variant::Variant ( Variant &&  )
default

◆ Variant() [4/8]

CeresEngine::ShaderCompiler::Variant::Variant ( BoolType  value)

◆ Variant() [5/8]

CeresEngine::ShaderCompiler::Variant::Variant ( IntType  value)

◆ Variant() [6/8]

CeresEngine::ShaderCompiler::Variant::Variant ( RealType  value)

◆ Variant() [7/8]

CeresEngine::ShaderCompiler::Variant::Variant ( const Vector< Variant > &  subValues)

◆ Variant() [8/8]

CeresEngine::ShaderCompiler::Variant::Variant ( Vector< Variant > &&  subValues)

Member Function Documentation

◆ arraySub()

Variant CeresEngine::ShaderCompiler::Variant::arraySub ( std::size_t  idx) const

◆ compareWith()

Int32 CeresEngine::ShaderCompiler::Variant::compareWith ( const Variant &  rhs) const

◆ findCommonType()

static Types CeresEngine::ShaderCompiler::Variant::findCommonType ( const Variant &  lhs,
const Variant &  rhs 
)
static

◆ getArray()

const Vector< Variant > & CeresEngine::ShaderCompiler::Variant::getArray ( ) const
inline

◆ getBoolean()

BoolType CeresEngine::ShaderCompiler::Variant::getBoolean ( ) const
inline

◆ getInteger()

IntType CeresEngine::ShaderCompiler::Variant::getInteger ( ) const
inline

◆ getReal()

RealType CeresEngine::ShaderCompiler::Variant::getReal ( ) const
inline

◆ getType()

Types CeresEngine::ShaderCompiler::Variant::getType ( ) const
inline

◆ isArray()

bool CeresEngine::ShaderCompiler::Variant::isArray ( ) const
inline

◆ isBoolean()

bool CeresEngine::ShaderCompiler::Variant::isBoolean ( ) const
inline

◆ isInteger()

bool CeresEngine::ShaderCompiler::Variant::isInteger ( ) const
inline

◆ isReal()

bool CeresEngine::ShaderCompiler::Variant::isReal ( ) const
inline

◆ isRepresentableAsString()

bool CeresEngine::ShaderCompiler::Variant::isRepresentableAsString ( ) const

◆ isValid()

bool CeresEngine::ShaderCompiler::Variant::isValid ( ) const
inline

◆ operator bool()

CeresEngine::ShaderCompiler::Variant::operator bool ( ) const
inline

◆ operator!()

Variant CeresEngine::ShaderCompiler::Variant::operator! ( )

◆ operator%=()

Variant & CeresEngine::ShaderCompiler::Variant::operator%= ( const Variant &  rhs)

◆ operator&=()

Variant & CeresEngine::ShaderCompiler::Variant::operator&= ( const Variant &  rhs)

◆ operator*=()

Variant & CeresEngine::ShaderCompiler::Variant::operator*= ( const Variant &  rhs)

◆ operator++()

Variant & CeresEngine::ShaderCompiler::Variant::operator++ ( )

◆ operator+=()

Variant & CeresEngine::ShaderCompiler::Variant::operator+= ( const Variant &  rhs)

◆ operator-()

Variant CeresEngine::ShaderCompiler::Variant::operator- ( )

◆ operator--()

Variant & CeresEngine::ShaderCompiler::Variant::operator-- ( )

◆ operator-=()

Variant & CeresEngine::ShaderCompiler::Variant::operator-= ( const Variant &  rhs)

◆ operator/=()

Variant & CeresEngine::ShaderCompiler::Variant::operator/= ( const Variant &  rhs)

◆ operator<<=()

Variant & CeresEngine::ShaderCompiler::Variant::operator<<= ( const Variant &  rhs)

◆ operator=() [1/2]

Variant & CeresEngine::ShaderCompiler::Variant::operator= ( const Variant &  )
default

◆ operator=() [2/2]

Variant & CeresEngine::ShaderCompiler::Variant::operator= ( Variant &&  )
default

◆ operator>>=()

Variant & CeresEngine::ShaderCompiler::Variant::operator>>= ( const Variant &  rhs)

◆ operator^=()

Variant & CeresEngine::ShaderCompiler::Variant::operator^= ( const Variant &  rhs)

◆ operator|=()

Variant & CeresEngine::ShaderCompiler::Variant::operator|= ( const Variant &  rhs)

◆ operator~()

Variant CeresEngine::ShaderCompiler::Variant::operator~ ( )

◆ parseFrom()

static Variant CeresEngine::ShaderCompiler::Variant::parseFrom ( const String &  s)
static

◆ toBoolean()

BoolType CeresEngine::ShaderCompiler::Variant::toBoolean ( ) const

◆ toInteger()

IntType CeresEngine::ShaderCompiler::Variant::toInteger ( ) const

◆ toReal()

RealType CeresEngine::ShaderCompiler::Variant::toReal ( ) const

◆ toString()

String CeresEngine::ShaderCompiler::Variant::toString ( ) const

Member Data Documentation

◆ mArray

Vector<Variant> CeresEngine::ShaderCompiler::Variant::mArray
private

◆ mBool

BoolType CeresEngine::ShaderCompiler::Variant::mBool = false
private

◆ mInt

IntType CeresEngine::ShaderCompiler::Variant::mInt = 0
private

◆ mReal

RealType CeresEngine::ShaderCompiler::Variant::mReal = 0.0
private

◆ mType

Types CeresEngine::ShaderCompiler::Variant::mType = Types::Undefined
private

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