UGDK  0.5.0
 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>

Classes

struct  arguments_helper<>
 

Public Types

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

Public Member Functions

 VirtualObj ()
 Builds an empty virtual object. More...
 
 VirtualObj (VirtualData::Ptr data)
 
 VirtualObj (LangWrapper *wrapper)
 
 ~VirtualObj ()
 
LangWrapperwrapper () const
 Acessing. More...
 
void * unsafe_data () const
 
template<class T >
value (bool disown=false) const
 
template<class T >
void set_value (T val, bool disown=false)
 
bool valid () const
 
VirtualObj attribute (const VirtualObj &key) const
 
VirtualObj set_attribute (const VirtualObj &key, const VirtualObj &value)
 
template<typename signature >
std::function< signature > AsFunction () const
 
template<typename... Args>
VirtualObj Call (Args...args) const
 
VirtualObj Call (const List &vobj_list) const
 
 operator bool () const
 
bool operator< (const VirtualObj &rhs) const
 
template<typename... Args>
VirtualObj operator() (Args...args) const
 
VirtualObj operator[] (const VirtualObj &key) const
 
VirtualObj operator[] (const char *key) const
 
VirtualObj operator[] (const std::string &key) const
 
Bind operator| (const std::string &method_name)
 

Static Public Member Functions

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

template<typename signature >
std::function<signature> ugdk::script::VirtualObj::AsFunction ( ) const
inline
VirtualObj ugdk::script::VirtualObj::attribute ( const VirtualObj key) const
inline
template<typename... Args>
VirtualObj ugdk::script::VirtualObj::Call ( Args...  args) const
inline
VirtualObj ugdk::script::VirtualObj::Call ( const List vobj_list) const
inline
static VirtualObj ugdk::script::VirtualObj::Create ( const char *  obj,
LangWrapper wrapper 
)
inlinestatic
static VirtualObj ugdk::script::VirtualObj::Create ( const std::string &  str,
LangWrapper wrapper 
)
inlinestatic
ugdk::script::VirtualObj::operator bool ( ) const
inline
template<typename... Args>
VirtualObj ugdk::script::VirtualObj::operator() ( Args...  args) const
inline
bool ugdk::script::VirtualObj::operator< ( const VirtualObj rhs) const
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,
bool  disown = false 
)
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

Acessing.


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