|
| ParameterizedMemberFunction (CT &object, 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.
|
|
virtual RT | call () const |
| Calls the internal encapsulated function by the used of the previously defined parameters.
|
|
virtual ParameterizedFunctionBase< RT > * | copy () const |
| Creates a copy of this function container.
|
|
| ParameterizedFunction (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.
|
|
virtual | ~ParameterizedFunction () |
| Destructs a parameter function.
|
|
virtual unsigned int | parameters () const |
| Returns the number of function parameters.
|
|
virtual void * | parameter (const unsigned int index) |
| Returns a specified parameter as a void pointer to the parameter's pointer.
|
|
virtual void | setParameter (const unsigned int index, const void *value) |
| Sets a specified parameter as long as the parameter is not a reference.
|
|
virtual const std::type_info & | type (const unsigned int index) const |
| Returns the parameter type of a specific parameter.
|
|
template<typename CT, typename RT, typename PT0 = NullClass, typename PT1 = NullClass, typename PT2 = NullClass, typename PT3 = NullClass, typename PT4 = NullClass, typename PT5 = NullClass, typename PT6 = NullClass, typename PT7 = NullClass, typename PT8 = NullClass, typename PT9 = NullClass, typename PT10 = NullClass, typename PT11 = NullClass, typename PT12 = NullClass, typename PT13 = NullClass, typename PT14 = NullClass, typename PT15 = NullClass, typename PT16 = NullClass, typename PT17 = NullClass, typename PT18 = NullClass, typename PT19 = NullClass>
class Ocean::ParameterizedMemberFunction< CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16, PT17, PT18, PT19 >
This class implements an parameterized member 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 owner class type (CT), the return type (RT) and ten possible function parameters (PT0 - PT9).
This class is a helper class only and used to allow caller functions to be independent from the member function's class type.
- Template Parameters
-
CT | Type of the member object |
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 |
template<typename CT , typename RT , typename PT0 = NullClass, typename PT1 = NullClass, typename PT2 = NullClass, typename PT3 = NullClass, typename PT4 = NullClass, typename PT5 = NullClass, typename PT6 = NullClass, typename PT7 = NullClass, typename PT8 = NullClass, typename PT9 = NullClass, typename PT10 = NullClass, typename PT11 = NullClass, typename PT12 = NullClass, typename PT13 = NullClass, typename PT14 = NullClass, typename PT15 = NullClass, typename PT16 = NullClass, typename PT17 = NullClass, typename PT18 = NullClass, typename PT19 = NullClass>
typedef MemberFunctionPointerMaker<CT,RT,PT0,PT1,PT2,PT3,PT4,PT5,PT6,PT7,PT8,PT9,PT10,PT11,PT12,PT13,PT14,PT15,PT16,PT17,PT18,PT19>::Type Ocean::ParameterizedMemberFunction< CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16, PT17, PT18, PT19 >::FunctionType |
|
protected |
Definition of a function pointer for the encapsulated function.
template<typename CT , typename RT , typename PT0 , typename PT1 , typename PT2 , typename PT3 , typename PT4 , typename PT5 , typename PT6 , typename PT7 , typename PT8 , typename PT9 , typename PT10 , typename PT11 , typename PT12 , typename PT13 , typename PT14 , typename PT15 , typename PT16 , typename PT17 , typename PT18 , typename PT19 >
Ocean::ParameterizedMemberFunction< CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16, PT17, PT18, PT19 >::ParameterizedMemberFunction |
( |
CT & |
object, |
|
|
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() |
|
) |
| |
|
inlineprotected |
Creates a new function object.
- Parameters
-
object | Class object holding the member function |
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 |
template<typename CT , typename RT , typename PT0 , typename PT1 , typename PT2 , typename PT3 , typename PT4 , typename PT5 , typename PT6 , typename PT7 , typename PT8 , typename PT9 , typename PT10 , typename PT11 , typename PT12 , typename PT13 , typename PT14 , typename PT15 , typename PT16 , typename PT17 , typename PT18 , typename PT19 >
RT Ocean::ParameterizedMemberFunction< CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16, PT17, PT18, PT19 >::call |
( |
| ) |
const |
|
protectedvirtual |
template<typename CT , typename RT , typename PT0 , typename PT1 , typename PT2 , typename PT3 , typename PT4 , typename PT5 , typename PT6 , typename PT7 , typename PT8 , typename PT9 , typename PT10 , typename PT11 , typename PT12 , typename PT13 , typename PT14 , typename PT15 , typename PT16 , typename PT17 , typename PT18 , typename PT19 >
ParameterizedFunctionBase< RT > * Ocean::ParameterizedMemberFunction< CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16, PT17, PT18, PT19 >::copy |
( |
| ) |
const |
|
protectedvirtual |
template<typename CT , typename RT , typename PT0 = NullClass, typename PT1 = NullClass, typename PT2 = NullClass, typename PT3 = NullClass, typename PT4 = NullClass, typename PT5 = NullClass, typename PT6 = NullClass, typename PT7 = NullClass, typename PT8 = NullClass, typename PT9 = NullClass, typename PT10 = NullClass, typename PT11 = NullClass, typename PT12 = NullClass, typename PT13 = NullClass, typename PT14 = NullClass, typename PT15 = NullClass, typename PT16 = NullClass, typename PT17 = NullClass, typename PT18 = NullClass, typename PT19 = NullClass>
template<typename CT , typename RT , typename PT0 = NullClass, typename PT1 = NullClass, typename PT2 = NullClass, typename PT3 = NullClass, typename PT4 = NullClass, typename PT5 = NullClass, typename PT6 = NullClass, typename PT7 = NullClass, typename PT8 = NullClass, typename PT9 = NullClass, typename PT10 = NullClass, typename PT11 = NullClass, typename PT12 = NullClass, typename PT13 = NullClass, typename PT14 = NullClass, typename PT15 = NullClass, typename PT16 = NullClass, typename PT17 = NullClass, typename PT18 = NullClass, typename PT19 = NullClass>
CT* Ocean::ParameterizedMemberFunction< CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16, PT17, PT18, PT19 >::functionClass |
|
protected |
Class object holding the member function.
template<typename CT , typename RT , typename PT0 = NullClass, typename PT1 = NullClass, typename PT2 = NullClass, typename PT3 = NullClass, typename PT4 = NullClass, typename PT5 = NullClass, typename PT6 = NullClass, typename PT7 = NullClass, typename PT8 = NullClass, typename PT9 = NullClass, typename PT10 = NullClass, typename PT11 = NullClass, typename PT12 = NullClass, typename PT13 = NullClass, typename PT14 = NullClass, typename PT15 = NullClass, typename PT16 = NullClass, typename PT17 = NullClass, typename PT18 = NullClass, typename PT19 = NullClass>
FunctionType Ocean::ParameterizedMemberFunction< CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16, PT17, PT18, PT19 >::functionPointer |
|
protected |
Function pointer of the member function.