Ocean
Ocean::MemberFunction< 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 unparameterized member function container. More...

Inheritance diagram for Ocean::MemberFunction< 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

 MemberFunction (CT &object, FunctionType function)
 Creates a new member function object. More...
 
virtual RT call (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()) const
 Calls the encapsulated function. More...
 
virtual FunctionBase< RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16, PT17, PT18, PT19 > * copy () const
 Creates a copy of this element. More...
 
virtual bool operator== (const FunctionBase< RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16, PT17, PT18, PT19 > &functionBase) const
 Returns whether two functions are equal. More...
 

Protected Attributes

CT * functionClass
 Class object holding the member function. More...
 
FunctionType functionPointer
 Function pointer of the member function. More...
 

Friends

class Callback< RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16, PT17, PT18, PT19 >
 

Additional Inherited Members

- Public Member Functions inherited from Ocean::FunctionBase< RT, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass >
virtual ~FunctionBase ()
 Destructs the object. More...
 
virtual RT call (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()) const=0
 Calls the internal encapsulated function by given parameters. More...
 
virtual bool operator== (const FunctionBase< RT, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass, NullClass > &functionBase) const=0
 Returns whether two functions are equal. 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::MemberFunction< 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 unparameterized member function container.

This function container holds no function parameters and therefore can call the encapsulated function with explicit parameters only. The template parameters define the function's owner class type (CT), the return type (RT) and twenty possible function parameters (PT0 - PT19).
This class is a helper class only and used to allow callback functions to be independent from the member function's class type.

Template Parameters
RTSpecifies the return type of the callback function
PT0Specifies the 1st possible function parameter type
PT1Specifies the 2rd possible function parameter type
PT2Specifies the 3rd possible function parameter type
PT3Specifies the 4th possible function parameter type
PT4Specifies the 5th possible function parameter type
PT5Specifies the 6th possible function parameter type
PT6Specifies the 7th possible function parameter type
PT7Specifies the 8th possible function parameter type
PT8Specifies the 9th possible function parameter type
PT9Specifies the 10th possible function parameter type
PT10Specifies the 11th possible function parameter type
PT11Specifies the 12th possible function parameter type
PT12Specifies the 13th possible function parameter type
PT13Specifies the 14th possible function parameter type
PT14Specifies the 15th possible function parameter type
PT15Specifies the 16th possible function parameter type
PT16Specifies the 17th possible function parameter type
PT17Specifies the 18th possible function parameter type
PT18Specifies the 19th possible function parameter type
PT19Specifies the 20th possible function parameter type
See also
StaticFunction, Callback.

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::MemberFunction< 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

◆ MemberFunction()

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::MemberFunction< CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16, PT17, PT18, PT19 >::MemberFunction ( CT &  object,
FunctionType  function 
)
inlineprotected

Creates a new member function object.

Parameters
objectClass object holding the member function
functionLocal member function pointer

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::MemberFunction< CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16, PT17, PT18, PT19 >::call ( 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() 
) const
protectedvirtual

Calls the encapsulated function.

Parameters
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
Returns
Return value

◆ 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 >
FunctionBase< RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16, PT17, PT18, PT19 > * Ocean::MemberFunction< CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16, PT17, PT18, PT19 >::copy
protectedvirtual

◆ operator==()

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 >
bool Ocean::MemberFunction< CT, RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16, PT17, PT18, PT19 >::operator== ( const FunctionBase< RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16, PT17, PT18, PT19 > &  functionBase) const
protectedvirtual

Returns whether two functions are equal.

Parameters
functionBaseRight callback to check
Returns
True, if so

Friends And Related Function Documentation

◆ Callback< RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16, PT17, PT18, PT19 >

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 Callback< RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16, PT17, PT18, PT19 >
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::MemberFunction< 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::MemberFunction< 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 file: