public

Inheritance Graph

graph BT
	RtValue
	click RtValue "classEScript_1_1RtValue"

Description

Runtime value. Used for function return values and stack values.

Classes

   
union EScript::RtValue::value_t

Public Types

   
   
enum valueType_t {VOID_VALUE, OBJECT_PTR, BOOL, UINT32, NUMBER, IDENTIFIER, LOCAL_STRING_IDX, FUNCTION_CALL_CONTEXT, UNDEFINED}

Public Attributes

   
   
enum EScript::RtValue::valueType_t valueType

Public Static Functions

   
   
RtValue createLocalStringIndex(const uint32_t idx)
(factory)
   
RtValue createFunctionCallContext( FunctionCallContext * fcc)
(factory)

Public Functions

   
   
  RtValue()
template< class T , class >  
  RtValue(T b)
   
  RtValue(const StringId & id)
   
  RtValue(const double & v)
   
  RtValue(const float & v)
   
  RtValue(const int & v)
   
  RtValue(const uint32_t & v)
   
  RtValue(const std::string & s)
   
  RtValue(const char * s)
   
  RtValue(std::nullptr_t void)
   
  RtValue( Object * obj)
   
  RtValue(const ObjPtr & obj)
   
  RtValue(const RtValue & other)
   
  RtValue(const ObjRef & obj)
   
  RtValue( ObjRef && obj)
   
  RtValue( RtValue && other)
   
  ~RtValue()
   
RtValue & operator=(const RtValue & other)
   
RtValue & operator=( RtValue && other)
   
Object * _detachObject()
Detach the object without checking the type or changing the object’s reference counter.
   
Object * getObject() const
   
bool _getBool() const
Access the value of a specific type without checking if the type is correct.
   
FunctionCallContext * _getFCC() const
   
StringId _getIdentifier() const
   
Object * _getObject() const
   
uint32_t _getLocalStringIndex() const
   
double _getNumber() const
   
uint32_t _getUInt32() const
   
bool isFunctionCallContext() const
   
bool isIdentifier() const
   
bool isLocalString() const
   
bool isNumber() const
   
bool isObject() const
   
bool isUint32() const
   
bool isUndefined() const
   
bool isVoid() const
   
bool toBool() const
   
std::string toDbgString() const
   
Object * _toObject() const

Documentation

enum
EScript::RtValue::valueType_t

public
 
 
enum valueType_t
Enumerator   Description
Enumerator   Description
VOID_VALUE    
OBJECT_PTR    
BOOL    
UINT32    
NUMBER    
IDENTIFIER    
LOCAL_STRING_IDX    
FUNCTION_CALL_CONTEXT    
UNDEFINED    

Defined in EScript/EScript/Runtime/RtValue.h:23


variable
EScript::RtValue::valueType

public
 
 
enum EScript::RtValue::valueType_t valueType

Defined in EScript/EScript/Runtime/RtValue.h:33


function
EScript::RtValue::createLocalStringIndex

public static inline
     
     
RtValue createLocalStringIndex( const uint32_t idx )

(factory)

Defined in EScript/EScript/Runtime/RtValue.h:59


function
EScript::RtValue::createFunctionCallContext

public static inline
     
     
RtValue createFunctionCallContext( FunctionCallContext * fcc )

(factory)

Defined in EScript/EScript/Runtime/RtValue.h:65


function
EScript::RtValue::RtValue

public inline
   
   
RtValue( )

Defined in EScript/EScript/Runtime/RtValue.h:71


function
EScript::RtValue::RtValue

public inline
     
template< class T , class = typename std::enable_if<std::is_same<T,bool>::value>::type >    
RtValue( T b )

Defined in EScript/EScript/Runtime/RtValue.h:74


function
EScript::RtValue::RtValue

public inline
     
     
RtValue( const StringId & id )

Defined in EScript/EScript/Runtime/RtValue.h:75


function
EScript::RtValue::RtValue

public inline
     
     
RtValue( const double & v )

Defined in EScript/EScript/Runtime/RtValue.h:76


function
EScript::RtValue::RtValue

public inline
     
     
RtValue( const float & v )

Defined in EScript/EScript/Runtime/RtValue.h:77


function
EScript::RtValue::RtValue

public inline
     
     
RtValue( const int & v )

Defined in EScript/EScript/Runtime/RtValue.h:78


function
EScript::RtValue::RtValue

public inline
     
     
RtValue( const uint32_t & v )

Defined in EScript/EScript/Runtime/RtValue.h:79


function
EScript::RtValue::RtValue

public
     
     
RtValue( const std::string & s )

Defined in EScript/EScript/Runtime/RtValue.h:80


function
EScript::RtValue::RtValue

public
     
     
RtValue( const char * s )

Defined in EScript/EScript/Runtime/RtValue.h:81


function
EScript::RtValue::RtValue

public inline
     
     
RtValue( std::nullptr_t void )

Defined in EScript/EScript/Runtime/RtValue.h:82


function
EScript::RtValue::RtValue

public inline
     
     
RtValue( Object * obj )

Defined in EScript/EScript/Runtime/RtValue.h:84


function
EScript::RtValue::RtValue

public inline
     
     
RtValue( const ObjPtr & obj )

Defined in EScript/EScript/Runtime/RtValue.h:93


function
EScript::RtValue::RtValue

public inline
     
     
RtValue( const RtValue & other )

Defined in EScript/EScript/Runtime/RtValue.h:102


function
EScript::RtValue::RtValue

public inline
     
     
RtValue( const ObjRef & obj )

Defined in EScript/EScript/Runtime/RtValue.h:106


function
EScript::RtValue::RtValue

public inline
     
     
RtValue( ObjRef && obj )

Defined in EScript/EScript/Runtime/RtValue.h:115


function
EScript::RtValue::RtValue

public inline
     
     
RtValue( RtValue && other )

Defined in EScript/EScript/Runtime/RtValue.h:124


function
EScript::RtValue::~RtValue

public inline
   
   
~RtValue( )

Defined in EScript/EScript/Runtime/RtValue.h:129


function
EScript::RtValue::operator=

public inline
     
     
RtValue & operator=( const RtValue & other )

Defined in EScript/EScript/Runtime/RtValue.h:133


function
EScript::RtValue::operator=

public inline
     
     
RtValue & operator=( RtValue && other )

Defined in EScript/EScript/Runtime/RtValue.h:144


function
EScript::RtValue::_detachObject

public inline
   
   
Object * _detachObject( )

Detach the object without checking the type or changing the object’s reference counter.

Defined in EScript/EScript/Runtime/RtValue.h:153


function
EScript::RtValue::getObject

public const inline
   
   
Object * getObject( ) const

Defined in EScript/EScript/Runtime/RtValue.h:157


function
EScript::RtValue::_getBool

public const inline
   
   
bool _getBool( ) const

Access the value of a specific type without checking if the type is correct.

Defined in EScript/EScript/Runtime/RtValue.h:160


function
EScript::RtValue::_getFCC

public const inline
   
   
FunctionCallContext * _getFCC( ) const

Defined in EScript/EScript/Runtime/RtValue.h:161


function
EScript::RtValue::_getIdentifier

public const inline
   
   
StringId _getIdentifier( ) const

Defined in EScript/EScript/Runtime/RtValue.h:162


function
EScript::RtValue::_getObject

public const inline
   
   
Object * _getObject( ) const

Defined in EScript/EScript/Runtime/RtValue.h:163


function
EScript::RtValue::_getLocalStringIndex

public const inline
   
   
uint32_t _getLocalStringIndex( ) const

Defined in EScript/EScript/Runtime/RtValue.h:164


function
EScript::RtValue::_getNumber

public const inline
   
   
double _getNumber( ) const

Defined in EScript/EScript/Runtime/RtValue.h:165


function
EScript::RtValue::_getUInt32

public const inline
   
   
uint32_t _getUInt32( ) const

Defined in EScript/EScript/Runtime/RtValue.h:166


function
EScript::RtValue::isFunctionCallContext

public const inline
   
   
bool isFunctionCallContext( ) const

Defined in EScript/EScript/Runtime/RtValue.h:168


function
EScript::RtValue::isIdentifier

public const inline
   
   
bool isIdentifier( ) const

Defined in EScript/EScript/Runtime/RtValue.h:169


function
EScript::RtValue::isLocalString

public const inline
   
   
bool isLocalString( ) const

Defined in EScript/EScript/Runtime/RtValue.h:170


function
EScript::RtValue::isNumber

public const inline
   
   
bool isNumber( ) const

Defined in EScript/EScript/Runtime/RtValue.h:171


function
EScript::RtValue::isObject

public const inline
   
   
bool isObject( ) const

Defined in EScript/EScript/Runtime/RtValue.h:172


function
EScript::RtValue::isUint32

public const inline
   
   
bool isUint32( ) const

Defined in EScript/EScript/Runtime/RtValue.h:173


function
EScript::RtValue::isUndefined

public const inline
   
   
bool isUndefined( ) const

Defined in EScript/EScript/Runtime/RtValue.h:174


function
EScript::RtValue::isVoid

public const inline
   
   
bool isVoid( ) const

Defined in EScript/EScript/Runtime/RtValue.h:175


function
EScript::RtValue::toBool

public const inline
   
   
bool toBool( ) const

Defined in EScript/EScript/Runtime/RtValue.h:177


function
EScript::RtValue::toDbgString

public const
   
   
std::string toDbgString( ) const

Defined in EScript/EScript/Runtime/RtValue.h:182


function
EScript::RtValue::_toObject

public const
   
   
Object * _toObject( ) const

Convert the value to an object;

Note: Do not use if the type can be LOCAL_STRING_IDX or FUNCTION_CALL_CONTEXT as this can’t be properly converted!

Defined in EScript/EScript/Runtime/RtValue.h:186