ug4
ug::bridge::IExportedClass Class Referenceabstract

Base class for exported Classes. More...

#include <class.h>

+ Inheritance diagram for ug::bridge::IExportedClass:

Public Types

typedef void(* DeleteFunction) (const void *)
 

Public Member Functions

virtual bool check_consistency () const
 returns false is consistency-check failed More...
 
virtual const ClassNameNodeclass_name_node () const =0
 name node of class More...
 
virtual const std::vector< const char * > * class_names () const =0
 name-list of class hierarchy More...
 
virtual bool construct_as_smart_pointer () const =0
 true if the class shall be wrapped in a SmartPtr on construction More...
 
virtual void destroy (void *obj) const =0
 destructur for object More...
 
virtual const ExportedMethodGroupget_const_exported_method_group (const std::string &name) const =0
 
virtual const ExportedMethodget_const_method (size_t i) const =0
 get exported const-method More...
 
virtual const ExportedMethodGroupget_const_method_group (size_t ind) const =0
 returns the i-th method group (all overloads of the i-th function) More...
 
virtual const ExportedMethodget_const_overload (size_t funcInd, size_t oInd) const =0
 returns the i-th overload of a const method More...
 
virtual const ExportedConstructorget_constructor (size_t i) const =0
 get exported constructor More...
 
virtual DeleteFunction get_delete_function () const =0
 returns a function which will call delete on the object More...
 
virtual const ExportedMethodGroupget_exported_method_group (const std::string &name) const =0
 
virtual const boost::optional< ExportedConstructor & > get_json_constructor () const =0
 get constructor for construction from json More...
 
virtual const ExportedMethodget_method (size_t i) const =0
 get exported method More...
 
virtual const ExportedMethodGroupget_method_group (size_t ind) const =0
 returns the i-th method group (all overloads of the i-th function) More...
 
virtual const ExportedMethodget_overload (size_t funcInd, size_t oInd) const =0
 returns the i-th overload of a method More...
 
virtual const std::string & group () const =0
 get groups More...
 
virtual bool is_instantiable () const =0
 
virtual bool is_json_constructible () const =0
 get constructor for construction from json More...
 
virtual const std::string & name () const =0
 name of class More...
 
virtual size_t num_const_methods () const =0
 number of registered const-methods More...
 
virtual size_t num_const_overloads (size_t funcInd) const =0
 returns the number of overloads of a const method More...
 
virtual size_t num_constructors () const =0
 number of registered constructors More...
 
virtual size_t num_methods () const =0
 number of method of the class More...
 
virtual size_t num_overloads (size_t funcInd) const =0
 returns the number of overloads of a method More...
 
virtual const std::string & tooltip () const =0
 get tooltip More...
 
virtual ~IExportedClass ()
 virtual destructor More...
 

Detailed Description

Base class for exported Classes.

Member Typedef Documentation

◆ DeleteFunction

typedef void(* ug::bridge::IExportedClass::DeleteFunction) (const void *)

Constructor & Destructor Documentation

◆ ~IExportedClass()

virtual ug::bridge::IExportedClass::~IExportedClass ( )
inlinevirtual

virtual destructor

Member Function Documentation

◆ check_consistency()

bool ug::bridge::IExportedClass::check_consistency ( ) const
virtual

returns false is consistency-check failed

References ug::baseName(), class_names(), name(), and UG_ERR_LOG.

Referenced by ug::bridge::Registry::check_consistency().

◆ class_name_node()

virtual const ClassNameNode& ug::bridge::IExportedClass::class_name_node ( ) const
pure virtual

name node of class

Implemented in ug::bridge::ExportedClass< TClass >.

Referenced by ug::bridge::lua::CreateBindings_LUA().

◆ class_names()

◆ construct_as_smart_pointer()

virtual bool ug::bridge::IExportedClass::construct_as_smart_pointer ( ) const
pure virtual

◆ destroy()

virtual void ug::bridge::IExportedClass::destroy ( void *  obj) const
pure virtual

destructur for object

Implemented in ug::bridge::ExportedClassBaseImpl.

Referenced by Java_edu_gcsc_vrl_ug_UG__1delete().

◆ get_const_exported_method_group()

virtual const ExportedMethodGroup* ug::bridge::IExportedClass::get_const_exported_method_group ( const std::string &  name) const
pure virtual

◆ get_const_method()

◆ get_const_method_group()

virtual const ExportedMethodGroup& ug::bridge::IExportedClass::get_const_method_group ( size_t  ind) const
pure virtual

returns the i-th method group (all overloads of the i-th function)

Implemented in ug::bridge::ExportedClassBaseImpl.

Referenced by ug::bridge::lua::CreateBindings_LUA().

◆ get_const_overload()

virtual const ExportedMethod& ug::bridge::IExportedClass::get_const_overload ( size_t  funcInd,
size_t  oInd 
) const
pure virtual

returns the i-th overload of a const method

Implemented in ug::bridge::ExportedClassBaseImpl.

Referenced by ug::vrl::methods2NativeGroups().

◆ get_constructor()

virtual const ExportedConstructor& ug::bridge::IExportedClass::get_constructor ( size_t  i) const
pure virtual

◆ get_delete_function()

virtual DeleteFunction ug::bridge::IExportedClass::get_delete_function ( ) const
pure virtual

returns a function which will call delete on the object

Implemented in ug::bridge::ExportedClass< TClass >.

Referenced by Java_edu_gcsc_vrl_ug_UG__1newInstance(), and ug::bridge::lua::LuaConstructor().

◆ get_exported_method_group()

virtual const ExportedMethodGroup* ug::bridge::IExportedClass::get_exported_method_group ( const std::string &  name) const
pure virtual

◆ get_json_constructor()

virtual const boost::optional<ExportedConstructor&> ug::bridge::IExportedClass::get_json_constructor ( ) const
pure virtual

get constructor for construction from json

Implemented in ug::bridge::ExportedClassBaseImpl.

◆ get_method()

◆ get_method_group()

virtual const ExportedMethodGroup& ug::bridge::IExportedClass::get_method_group ( size_t  ind) const
pure virtual

returns the i-th method group (all overloads of the i-th function)

Implemented in ug::bridge::ExportedClassBaseImpl.

Referenced by ug::bridge::lua::CreateBindings_LUA().

◆ get_overload()

virtual const ExportedMethod& ug::bridge::IExportedClass::get_overload ( size_t  funcInd,
size_t  oInd 
) const
pure virtual

returns the i-th overload of a method

Implemented in ug::bridge::ExportedClassBaseImpl.

Referenced by ug::vrl::methods2NativeGroups().

◆ group()

virtual const std::string& ug::bridge::IExportedClass::group ( ) const
pure virtual

◆ is_instantiable()

virtual bool ug::bridge::IExportedClass::is_instantiable ( ) const
pure virtual

can we create instances of this class (i.e. the class does not contain pure virtual functions)

Implemented in ug::bridge::ExportedClassBaseImpl.

Referenced by ug::bridge::Registry::check_consistency(), ug::vrl::classes2NativeClasses(), ug::bridge::ClassInfo(), and ug::bridge::lua::CreateBindings_LUA().

◆ is_json_constructible()

virtual bool ug::bridge::IExportedClass::is_json_constructible ( ) const
pure virtual

get constructor for construction from json

Implemented in ug::bridge::ExportedClass< TClass >.

Referenced by ug::bridge::ExportedClassBaseImpl::get_json_constructor().

◆ name()

◆ num_const_methods()

◆ num_const_overloads()

virtual size_t ug::bridge::IExportedClass::num_const_overloads ( size_t  funcInd) const
pure virtual

returns the number of overloads of a const method

Implemented in ug::bridge::ExportedClassBaseImpl.

Referenced by ug::vrl::methods2NativeGroups().

◆ num_constructors()

virtual size_t ug::bridge::IExportedClass::num_constructors ( ) const
pure virtual

◆ num_methods()

◆ num_overloads()

virtual size_t ug::bridge::IExportedClass::num_overloads ( size_t  funcInd) const
pure virtual

returns the number of overloads of a method

Implemented in ug::bridge::ExportedClassBaseImpl.

Referenced by ug::vrl::methods2NativeGroups().

◆ tooltip()

virtual const std::string& ug::bridge::IExportedClass::tooltip ( ) const
pure virtual

get tooltip

Implemented in ug::bridge::ExportedClassBaseImpl.


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