Ocean
Ocean::StaticFunctionCaller< 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 a helper class providing a functionality to call a static function defined by a function pointer. More...

Static Protected Member Functions

static RT call (typename StaticFunctionPointerMaker< RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16, PT17, PT18, PT19 >::Type functionPointer, PT0 param0, PT1 param1, PT2 param2, PT3 param3, PT4 param4, PT5 param5, PT6 param6, PT7 param7, PT8 param8, PT9 param9, PT10 param10, PT11 param11, PT12 param12, PT13 param13, PT14 param14, PT15 param15, PT16 param16, PT17 param17, PT18 param18, PT19 param19)
 Calls a function defined by the function pointer the class object and the function parameters. More...
 

Friends

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

Detailed Description

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

This class implements a helper class providing a functionality to call a static function defined by a function pointer.

Because of being a helper class there is no need to use it directly.
The template parameters define the function's return type (RT) and twenty possible function parameters (PT0 - PT19).
Therefore, functions with at most eight function parameters are supported.

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

Member Function Documentation

◆ call()

template<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::StaticFunctionCaller< RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16, PT17, PT18, PT19 >::call ( typename StaticFunctionPointerMaker< RT, PT0, PT1, PT2, PT3, PT4, PT5, PT6, PT7, PT8, PT9, PT10, PT11, PT12, PT13, PT14, PT15, PT16, PT17, PT18, PT19 >::Type  functionPointer,
PT0  param0,
PT1  param1,
PT2  param2,
PT3  param3,
PT4  param4,
PT5  param5,
PT6  param6,
PT7  param7,
PT8  param8,
PT9  param9,
PT10  param10,
PT11  param11,
PT12  param12,
PT13  param13,
PT14  param14,
PT15  param15,
PT16  param16,
PT17  param17,
PT18  param18,
PT19  param19 
)
inlinestaticprotected

Calls a function defined by the function pointer the class object and the function parameters.

Parameters
functionPointerPointer of the member function to call
param0First function parameter
param1Second function parameter
param2Third function parameter
param3Fourth function parameter
param4Fifth function parameter
param5Six 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

Friends And Related Function Documentation

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

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

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

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

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