This class describes a class constructor in a class proxy. More...
Constructors and destructors | |
SBCClassConstructor () | |
Constructs a class constructor. | |
virtual | ~SBCClassConstructor () |
Destructs the constructor. | |
Creation functions | |
virtual bool | canCreateInstance (const SBValue &t0=SBValue(), const SBValue &t1=SBValue(), const SBValue &t2=SBValue(), const SBValue &t3=SBValue(), const SBValue &t4=SBValue(), const SBValue &t5=SBValue(), const SBValue &t6=SBValue(), const SBValue &t7=SBValue(), const SBValue &t8=SBValue(), const SBValue &t9=SBValue(), const SBValue &t10=SBValue(), const SBValue &t11=SBValue(), const SBValue &t12=SBValue(), const SBValue &t13=SBValue(), const SBValue &t14=SBValue(), const SBValue &t15=SBValue()) const |
Returns true if and only if the constructor can create an instance with arguments t0 , t1 , ..., t15 . | |
virtual SBValue | createInstance (const SBValue &t0=SBValue(), const SBValue &t1=SBValue(), const SBValue &t2=SBValue(), const SBValue &t3=SBValue(), const SBValue &t4=SBValue(), const SBValue &t5=SBValue(), const SBValue &t6=SBValue(), const SBValue &t7=SBValue(), const SBValue &t8=SBValue(), const SBValue &t9=SBValue(), const SBValue &t10=SBValue(), const SBValue &t11=SBValue(), const SBValue &t12=SBValue(), const SBValue &t13=SBValue(), const SBValue &t14=SBValue(), const SBValue &t15=SBValue()) const |
Creates an instance of the class with arguments t0 , t1 , ..., t15 . | |
Identity | |
virtual std::string | getClassName () const =0 |
Returns the class name. | |
virtual std::string | getParameterTypeName (int i) const =0 |
Returns the parameter type name of the constructor parameter i . | |
virtual SBValue | getParameterType (int i) const =0 |
Returns the parameter type of the constructor parameter i . | |
virtual unsigned int | getNumberOfParameters () const =0 |
Returns the number of parameters of the function. | |
virtual std::string | signature () const =0 |
Returns the signature of the function. | |
This class describes a class constructor in a class proxy. A class constructor object is a functor that provides access to a SAMSON Element constructor that has been exposed through a class descriptor.
Assume for example a SAMSON Element contains the following class:
as well as the following class descriptor:
In this example, the constructor A()
is accessible to other SAMSON Elements through the SAMSON introspection mechanism, even when the definition of class A is not available. Precisely, even though other developers might not have access to the definition of class A
(i.e. they do not have the appropriate header file), they may still retrieve constructors through the class proxy:
which they may then use to construct an instance of class A:
Note that the class proxy also makes it possible to directly create an instance of an exposed class without having first to obtain the SBCClassConstructor object:
However, when multiple calls to the constructor are performed, it is more efficient to store a pointer to a SBCClassConstructor object and reuse it.
Note that a class constructor object should never be deleted.
Please refer to the chapter about introspection for more information.
Short name: SBConstructor