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)
 
Variantoperator= (const Variant &)=default
 
Variantoperator= (Variant &&)=default
 
Variantoperator+= (const Variant &rhs)
 
Variantoperator-= (const Variant &rhs)
 
Variantoperator*= (const Variant &rhs)
 
Variantoperator/= (const Variant &rhs)
 
Variantoperator%= (const Variant &rhs)
 
Variantoperator|= (const Variant &rhs)
 
Variantoperator&= (const Variant &rhs)
 
Variantoperator^= (const Variant &rhs)
 
Variantoperator<<= (const Variant &rhs)
 
Variantoperator>>= (const Variant &rhs)
 
Variantoperator++ ()
 
Variantoperator-- ()
 
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< VariantmArray
 

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: