Ocean
|
This class implements an parameterized static function container. More...
Protected Types | |
typedef StaticFunctionPointerMaker< RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16, PT17, PT18, PT19 >::Type | FunctionType |
Definition of a function pointer for the encapsulated function. More... | |
Protected Member Functions | |
ParameterizedStaticFunction (FunctionType function, PT0 param0=PT0(), PT1 param1=PT1(), PT2 param2=PT2(), PT3 param3=PT3(), PT4 param4=PT4(), PT5 param5=PT5(), PT6 param6=PT6(), PT7 param7=PT7(), PT8 param8=PT8(), PT9 param9=PT9(), PT10 param10=PT10(), PT11 param11=PT11(), PT12 param12=PT12(), PT13 param13=PT13(), PT14 param14=PT14(), PT15 param15=PT15(), PT16 param16=PT16(), PT17 param17=PT17(), PT18 param18=PT18(), PT19 param19=PT19()) | |
Creates a new function object. More... | |
virtual RT | call () const |
Calls the internal encapsulated function by the used of the previously defined parameters. More... | |
virtual ParameterizedFunctionBase< RT > * | copy () const |
Creates a copy of this function container. More... | |
Protected Member Functions inherited from Ocean::ParameterizedFunction< RT, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass > | |
ParameterizedFunction (NullClass param0=NullClass(), NullClass param1=NullClass(), NullClass param2=NullClass(), NullClass param3=NullClass(), NullClass param4=NullClass(), NullClass param5=NullClass(), NullClass param6=NullClass(), NullClass param7=NullClass(), NullClass param8=NullClass(), NullClass param9=NullClass(), NullClass param10=NullClass(), NullClass param11=NullClass(), NullClass param12=NullClass(), NullClass param13=NullClass(), NullClass param14=NullClass(), NullClass param15=NullClass(), NullClass param16=NullClass(), NullClass param17=NullClass(), NullClass param18=NullClass(), NullClass param19=NullClass()) | |
Creates a new function object. More... | |
virtual | ~ParameterizedFunction () |
Destructs a parameter function. More... | |
virtual unsigned int | parameters () const |
Returns the number of function parameters. More... | |
virtual void * | parameter (const unsigned int index) |
Returns a specified parameter as a void pointer to the parameter's pointer. More... | |
virtual void | setParameter (const unsigned int index, const void *value) |
Sets a specified parameter as long as the parameter is not a reference. More... | |
virtual const std::type_info & | type (const unsigned int index) const |
Returns the parameter type of a specific parameter. More... | |
Friends | |
class | Caller< RT > |
Additional Inherited Members | |
Public Member Functions inherited from Ocean::ParameterizedFunctionBase< RT > | |
virtual | ~ParameterizedFunctionBase () |
Destructs a parameterized function object. More... | |
This class implements an parameterized static function container.
This function cantainer holds function parameters and therefore can call the encapsulated function without explicit parameters.
The template parameters define the function's return type (RT) and twenty possible function parameters (PT0 - PT19).
This class is a helper class only and used to allow caller functions to be independent from the member function's class type.
RT | Return type |
PT0 | Data type of the 1st parameter |
PT1 | Data type of the 2nd parameter |
PT2 | Data type of the 3rd parameter |
PT3 | Data type of the 4th parameter |
PT4 | Data type of the 5th parameter |
PT5 | Data type of the 6th parameter |
PT6 | Data type of the 7th parameter |
PT7 | Data type of the 8th parameter |
PT8 | Data type of the 9th parameter |
PT9 | Data type of the 10th parameter |
PT10 | Data type of the 11th parameter |
PT11 | Data type of the 12th parameter |
PT12 | Data type of the 13th parameter |
PT13 | Data type of the 14th parameter |
PT14 | Data type of the 15th parameter |
PT15 | Data type of the 16th parameter |
PT16 | Data type of the 17th parameter |
PT17 | Data type of the 18th parameter |
PT18 | Data type of the 19th parameter |
PT19 | Data type of the 20th parameter |
|
protected |
Definition of a function pointer for the encapsulated function.
|
inlineprotected |
Creates a new function object.
function | Local member function pointer |
param0 | First function parameter |
param1 | Second function parameter |
param2 | Third function parameter |
param3 | Fourth function parameter |
param4 | Fifth function parameter |
param5 | Sixth function parameter |
param6 | Seventh function parameter |
param7 | Eighth function parameter |
param8 | Ninth function parameter |
param9 | Tenth function parameter |
param10 | 11th function parameter |
param11 | 12th function parameter |
param12 | 13th function parameter |
param13 | 14th function parameter |
param14 | 15th function parameter |
param15 | 16th function parameter |
param16 | 17th function parameter |
param17 | 18th function parameter |
param18 | 19th function parameter |
param19 | 20th function parameter |
|
protectedvirtual |
Calls the internal encapsulated function by the used of the previously defined parameters.
Implements Ocean::ParameterizedFunctionBase< RT >.
|
protectedvirtual |
Creates a copy of this function container.
Implements Ocean::ParameterizedFunctionBase< RT >.
|
friend |
|
protected |
Function pointer of the member function.