Spinning Topp Logo BlackTopp Studios
inc
Public Member Functions | List of all members
Mezzanine::Scripting::iScriptArgument Class Referenceabstract

The interface for a script argument. More...

#include <scriptargument.h>

+ Inheritance diagram for Mezzanine::Scripting::iScriptArgument:
+ Collaboration diagram for Mezzanine::Scripting::iScriptArgument:

Public Member Functions

virtual ~iScriptArgument ()
 Overidable Deconstructor.
 
virtual Boole GetBoole () const =0
 Get the Argument as a Boole. More...
 
virtual Integer GetInteger () const =0
 Get the Argument as a Integer. More...
 
virtual iScriptArgumentGetMostDerived ()
 Get a pointer to the most Derived type of this class. More...
 
virtual Real GetReal () const =0
 Get the Argument as a Real. More...
 
virtual String GetString () const =0
 Get the Argument as a String. More...
 
virtual Integer GetTypeData () const =0
 Get data about the underlying specific to the scripting system using the argument. More...
 
virtual Whole GetWhole () const =0
 Get the Argument as a Whole. More...
 
virtual Boole IsNull () const =0
 Is this value representing a Null/Nil value. More...
 
- Public Member Functions inherited from Mezzanine::IntrusiveRefCount
 IntrusiveRefCount ()
 Constructor for instatiating the Reference Count.
 
virtual ~IntrusiveRefCount ()
 Virtual Deconstructor to prevent issues with deletion with incomplete type information.
 
Whole DecrementReferenceCount ()
 Decrease the reference count by one and return the updated count. More...
 
Whole GetReferenceCount () const
 Get the current amount of references. More...
 
IntrusiveRefCountGetReferenceCountTargetAsPointer ()
 Gets the actual pointer to the target. More...
 
Whole IncrementReferenceCount ()
 Increase the reference count by one and return the updated count. More...
 

Detailed Description

The interface for a script argument.

These are all the members that all script for all languages must implement. This mandatory functionlity insures that once portion of C++ code has access to a script argument it can always access the data contained.

These are created to provide data to scripts. This is intended to primarily to act as an abstraction layer between game data and data inside scripts, but currently just transports primitives into and out of scripts without needing to care about any underlying types. This limits what operations can be done with, because it is intended to provide an abstraction that can be used to implement specific algorithms for languages that require them.

For example Lua requires calling different functions for passing Strings Numbers, Nils and other types, while Ruby does not require this. These classes will always present Data to C++ class the same way, but will take whatever steps required for the scripting language and optionally the types they represent.

Definition at line 73 of file scriptargument.h.

Member Function Documentation

virtual Boole Mezzanine::Scripting::iScriptArgument::GetBoole ( ) const
pure virtual
virtual Integer Mezzanine::Scripting::iScriptArgument::GetInteger ( ) const
pure virtual
virtual iScriptArgument* Mezzanine::Scripting::iScriptArgument::GetMostDerived ( )
inlinevirtual
virtual Real Mezzanine::Scripting::iScriptArgument::GetReal ( ) const
pure virtual
virtual String Mezzanine::Scripting::iScriptArgument::GetString ( ) const
pure virtual
virtual Integer Mezzanine::Scripting::iScriptArgument::GetTypeData ( ) const
pure virtual
virtual Whole Mezzanine::Scripting::iScriptArgument::GetWhole ( ) const
pure virtual
virtual Boole Mezzanine::Scripting::iScriptArgument::IsNull ( ) const
pure virtual

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