Ocean
Ocean::ParameterizedMemberFunction< CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16, PT17, PT18, PT19 > Class Template Reference

This class implements an parameterized member function container. More...

Inheritance diagram for Ocean::ParameterizedMemberFunction< CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16, PT17, PT18, PT19 >:

Protected Types

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 FunctionType
 Definition of a function pointer for the encapsulated function. More...
 

Protected Member Functions

 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. 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...
 

Protected Attributes

CT * functionClass
 Class object holding the member function. More...
 
FunctionType functionPointer
 Function pointer of the member function. More...
 
- Protected Attributes 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 >
NullClass functionParam0
 First function parameter. More...
 
NullClass functionParam1
 Second function parameter. More...
 
NullClass functionParam2
 Third function parameter. More...
 
NullClass functionParam3
 Fourth function parameter. More...
 
NullClass functionParam4
 Fifth function parameter. More...
 
NullClass functionParam5
 Sixth function parameter. More...
 
NullClass functionParam6
 Seventh function parameter. More...
 
NullClass functionParam7
 Eighth function parameter. More...
 
NullClass functionParam8
 Ninth function parameter. More...
 
NullClass functionParam9
 Tenth function parameter. More...
 
NullClass functionParam10
 Eleventh function parameter. More...
 
NullClass functionParam11
 Twelfth function parameter. More...
 
NullClass functionParam12
 13th function parameter. More...
 
NullClass functionParam13
 14th function parameter. More...
 
NullClass functionParam14
 15th function parameter. More...
 
NullClass functionParam15
 16th function parameter. More...
 
NullClass functionParam16
 17th function parameter. More...
 
NullClass functionParam17
 18th function parameter. More...
 
NullClass functionParam18
 19th function parameter. More...
 
NullClass functionParam19
 20th function 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...
 

Detailed Description

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
CTType of the member object
RTReturn type
PT0Data type of the 1st parameter
PT1Data type of the 2nd parameter
PT2Data type of the 3rd parameter
PT3Data type of the 4th parameter
PT4Data type of the 5th parameter
PT5Data type of the 6th parameter
PT6Data type of the 7th parameter
PT7Data type of the 8th parameter
PT8Data type of the 9th parameter
PT9Data type of the 10th parameter
PT10Data type of the 11th parameter
PT11Data type of the 12th parameter
PT12Data type of the 13th parameter
PT13Data type of the 14th parameter
PT14Data type of the 15th parameter
PT15Data type of the 16th parameter
PT16Data type of the 17th parameter
PT17Data type of the 18th parameter
PT18Data type of the 19th parameter
PT19Data type of the 20th parameter

Member Typedef Documentation

◆ FunctionType

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.

Constructor & Destructor Documentation

◆ ParameterizedMemberFunction()

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
objectClass object holding the member function
functionLocal member function pointer
param0First function parameter
param1Second function parameter
param2Third function parameter
param3Fourth function parameter
param4Fifth function parameter
param5Sixth function parameter
param6Seventh function parameter
param7Eighth function parameter
param8Ninth function parameter
param9Tenth function parameter
param1011th function parameter
param1112th function parameter
param1213th function parameter
param1314th function parameter
param1415th function parameter
param1516th function parameter
param1617th function parameter
param1718th function parameter
param1819th function parameter
param1920th function parameter

Member Function Documentation

◆ call()

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
protectedvirtual

Calls the internal encapsulated function by the used of the previously defined parameters.

Returns
Return value

Implements Ocean::ParameterizedFunctionBase< RT >.

◆ copy()

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
protectedvirtual

Creates a copy of this function container.

Returns
Instance copy

Implements Ocean::ParameterizedFunctionBase< RT >.

Friends And Related Function Documentation

◆ Caller< RT >

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>
friend class Caller< RT >
friend

Field Documentation

◆ functionClass

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.

◆ functionPointer

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.


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