UGDK  0.4.1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
ugdk::script::VirtualObj Class Reference

A proxy class wich represents virtual objects from scripting languages. More...

#include <ugdk/script/virtualobj.h>

Public Types

typedef std::pair< VirtualObj,
VirtualObj
VirtualEntry
 
typedef std::list< VirtualObjList
 
typedef std::vector< VirtualObjVector
 
typedef std::map< VirtualObj,
VirtualObj
Map
 

Public Member Functions

 VirtualObj ()
 Builds an empty virtual object.
 
 VirtualObj (VirtualData::Ptr data)
 
 VirtualObj (LangWrapper *wrapper)
 
 ~VirtualObj ()
 
template<class T >
value (bool disown=false) const
 
template<class T >
void set_value (T val)
 
template<class T >
VirtualObjoperator= (T *obj)
 
LangWrapperwrapper () const
 
bool valid () const
 
 operator bool () const
 
bool operator< (const VirtualObj &rhs) const
 
VirtualObj operator() (const List &args=List()) const
 
VirtualObj attribute (const VirtualObj &key) const
 
VirtualObj operator[] (const VirtualObj &key) const
 
VirtualObj operator[] (const char *key) const
 
VirtualObj operator[] (const std::string &key) const
 
VirtualObj set_attribute (const VirtualObj &key, const VirtualObj &value)
 
TempList operator, (const VirtualObj &rhs) const
 
Listoperator, (List &rhs) const
 
Bind operator| (const std::string &method_name)
 
VirtualObj operator<< (const List &entry)
 
void * unsafe_data () const
 

Static Public Member Functions

template<class T >
static VirtualObj Create (T *obj, LangWrapper *wrapper)
 
static VirtualObj Create (const char *obj, LangWrapper *wrapper)
 
static VirtualObj Create (const std::string &str, LangWrapper *wrapper)
 

Detailed Description

A proxy class wich represents virtual objects from scripting languages.

Designed for intuitive use.

TODO: explanations and examples.

Member Typedef Documentation

Constructor & Destructor Documentation

ugdk::script::VirtualObj::VirtualObj ( )
inlineexplicit

Builds an empty virtual object.

Attempting to use any method in a virtual object created this way will result in a segmentation fault.

ugdk::script::VirtualObj::VirtualObj ( VirtualData::Ptr  data)
inlineexplicit
ugdk::script::VirtualObj::VirtualObj ( LangWrapper wrapper)
inlineexplicit
ugdk::script::VirtualObj::~VirtualObj ( )
inline

Member Function Documentation

VirtualObj ugdk::script::VirtualObj::attribute ( const VirtualObj key) const
inline
template<class T >
static VirtualObj ugdk::script::VirtualObj::Create ( T *  obj,
LangWrapper wrapper 
)
inlinestatic
VirtualObj ugdk::script::VirtualObj::Create ( const char *  obj,
LangWrapper wrapper 
)
static
static VirtualObj ugdk::script::VirtualObj::Create ( const std::string &  str,
LangWrapper wrapper 
)
inlinestatic
ugdk::script::VirtualObj::operator bool ( ) const
inline
VirtualObj ugdk::script::VirtualObj::operator() ( const List args = List()) const
TempList ugdk::script::VirtualObj::operator, ( const VirtualObj rhs) const
inline
List& ugdk::script::VirtualObj::operator, ( List rhs) const
inline
bool ugdk::script::VirtualObj::operator< ( const VirtualObj rhs) const
inline
VirtualObj ugdk::script::VirtualObj::operator<< ( const List entry)
inline
template<class T >
VirtualObj& ugdk::script::VirtualObj::operator= ( T *  obj)
inline
VirtualObj ugdk::script::VirtualObj::operator[] ( const VirtualObj key) const
inline
VirtualObj ugdk::script::VirtualObj::operator[] ( const char *  key) const
inline
VirtualObj ugdk::script::VirtualObj::operator[] ( const std::string &  key) const
inline
Bind ugdk::script::VirtualObj::operator| ( const std::string &  method_name)
inline
VirtualObj ugdk::script::VirtualObj::set_attribute ( const VirtualObj key,
const VirtualObj value 
)
inline
template<class T >
void ugdk::script::VirtualObj::set_value ( val)
inline
void* ugdk::script::VirtualObj::unsafe_data ( ) const
inline
bool ugdk::script::VirtualObj::valid ( ) const
inline
template<class T >
T ugdk::script::VirtualObj::value ( bool  disown = false) const
inline
LangWrapper* ugdk::script::VirtualObj::wrapper ( ) const
inline

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