Om  1.0.0
A universal framework for multimedia simulation
Public Types | Public Member Functions | List of all members
om::lang::Function< R(T1, T2, T3, T4, T5, T6, T7, T8) > Class Template Reference

Specialization of the function template class for a method with 8 parameters. More...

#include <omFunction.h>

Public Types

typedef R ReturnType
 The return type of this function object. More...
 
typedef T1 ParameterType1
 The type of the first parameter of this function object. More...
 
typedef T2 ParameterType2
 The type of the second parameter of this function object. More...
 
typedef T3 ParameterType3
 The type of the third parameter of this function object. More...
 
typedef T4 ParameterType4
 The type of the fourth parameter of this function object. More...
 
typedef T5 ParameterType5
 The type of the fifth parameter of this function object. More...
 
typedef T6 ParameterType6
 The type of the sixth parameter of this function object. More...
 
typedef T7 ParameterType7
 The type of the seventh parameter of this function object. More...
 
typedef T8 ParameterType8
 The type of the seventh parameter of this function object. More...
 

Public Member Functions

 Function ()
 Create a new default function object with a NULL function pointer. More...
 
 Function (R(*functionPointer)(T1, T2, T3, T4, T5, T6, T7, T8))
 Create a new function object that wraps the specified non-member function pointer. More...
 
template<typename ObjectType , typename ObjectType2 >
 Function (R(ObjectType2::*functionPointer)(T1, T2, T3, T4, T5, T6, T7, T8), ObjectType *objectPointer)
 Create a new function object that wraps the specified object and member function pointer. More...
 
template<typename ObjectType , typename ObjectType2 >
 Function (R(ObjectType2::*functionPointer)(T1, T2, T3, T4, T5, T6, T7, T8) const, const ObjectType *objectPointer)
 Create a new function object that wraps the specified object and const member function pointer. More...
 
ReturnType operator() (T1 p1, T2 p2, T3 p3, T4 p4, T5 p5, T6 p6, T7 p7, T8 p8) const
 Call this function and return its return value. More...
 
Bool operator== (const Function &other) const
 Return whether or not this function references the same function as another function object. More...
 
Bool operator!= (const Function &other) const
 Return whether or not this function references a different function as onother function object. More...
 
Bool isNull () const
 Return whether or not this function object has a function/object pointer that is NULL. More...
 
Bool isSet () const
 Return whether or not this function object has a function/object pointer that is not NULL. More...
 
Bool isMember () const
 Return whether or not this function object refers to a member function of a class object. More...
 

Detailed Description

template<typename R, typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7, typename T8>
class om::lang::Function< R(T1, T2, T3, T4, T5, T6, T7, T8) >

Specialization of the function template class for a method with 8 parameters.

Member Typedef Documentation

template<typename R , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 >
typedef R om::lang::Function< R(T1, T2, T3, T4, T5, T6, T7, T8) >::ReturnType

The return type of this function object.

template<typename R , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 >
typedef T1 om::lang::Function< R(T1, T2, T3, T4, T5, T6, T7, T8) >::ParameterType1

The type of the first parameter of this function object.

template<typename R , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 >
typedef T2 om::lang::Function< R(T1, T2, T3, T4, T5, T6, T7, T8) >::ParameterType2

The type of the second parameter of this function object.

template<typename R , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 >
typedef T3 om::lang::Function< R(T1, T2, T3, T4, T5, T6, T7, T8) >::ParameterType3

The type of the third parameter of this function object.

template<typename R , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 >
typedef T4 om::lang::Function< R(T1, T2, T3, T4, T5, T6, T7, T8) >::ParameterType4

The type of the fourth parameter of this function object.

template<typename R , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 >
typedef T5 om::lang::Function< R(T1, T2, T3, T4, T5, T6, T7, T8) >::ParameterType5

The type of the fifth parameter of this function object.

template<typename R , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 >
typedef T6 om::lang::Function< R(T1, T2, T3, T4, T5, T6, T7, T8) >::ParameterType6

The type of the sixth parameter of this function object.

template<typename R , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 >
typedef T7 om::lang::Function< R(T1, T2, T3, T4, T5, T6, T7, T8) >::ParameterType7

The type of the seventh parameter of this function object.

template<typename R , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 >
typedef T8 om::lang::Function< R(T1, T2, T3, T4, T5, T6, T7, T8) >::ParameterType8

The type of the seventh parameter of this function object.

Constructor & Destructor Documentation

template<typename R , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 >
om::lang::Function< R(T1, T2, T3, T4, T5, T6, T7, T8) >::Function ( )
inline

Create a new default function object with a NULL function pointer.

template<typename R , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 >
om::lang::Function< R(T1, T2, T3, T4, T5, T6, T7, T8) >::Function ( R(*)(T1, T2, T3, T4, T5, T6, T7, T8)  functionPointer)
inline

Create a new function object that wraps the specified non-member function pointer.

template<typename R , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 >
template<typename ObjectType , typename ObjectType2 >
om::lang::Function< R(T1, T2, T3, T4, T5, T6, T7, T8) >::Function ( R(ObjectType2::*)(T1, T2, T3, T4, T5, T6, T7, T8)  functionPointer,
ObjectType *  objectPointer 
)
inline

Create a new function object that wraps the specified object and member function pointer.

template<typename R , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 >
template<typename ObjectType , typename ObjectType2 >
om::lang::Function< R(T1, T2, T3, T4, T5, T6, T7, T8) >::Function ( R(ObjectType2::*)(T1, T2, T3, T4, T5, T6, T7, T8) const  functionPointer,
const ObjectType *  objectPointer 
)
inline

Create a new function object that wraps the specified object and const member function pointer.

Member Function Documentation

template<typename R , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 >
ReturnType om::lang::Function< R(T1, T2, T3, T4, T5, T6, T7, T8) >::operator() ( T1  p1,
T2  p2,
T3  p3,
T4  p4,
T5  p5,
T6  p6,
T7  p7,
T8  p8 
) const
inline

Call this function and return its return value.

Calling a NULL function object will cause an assertion to be raised.

template<typename R , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 >
Bool om::lang::Function< R(T1, T2, T3, T4, T5, T6, T7, T8) >::operator== ( const Function< R(T1, T2, T3, T4, T5, T6, T7, T8) > &  other) const
inline

Return whether or not this function references the same function as another function object.

template<typename R , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 >
Bool om::lang::Function< R(T1, T2, T3, T4, T5, T6, T7, T8) >::operator!= ( const Function< R(T1, T2, T3, T4, T5, T6, T7, T8) > &  other) const
inline

Return whether or not this function references a different function as onother function object.

template<typename R , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 >
Bool om::lang::Function< R(T1, T2, T3, T4, T5, T6, T7, T8) >::isNull ( ) const
inline

Return whether or not this function object has a function/object pointer that is NULL.

If this method returns TRUE, calling the function will result in an assertion being raised.

template<typename R , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 >
Bool om::lang::Function< R(T1, T2, T3, T4, T5, T6, T7, T8) >::isSet ( ) const
inline

Return whether or not this function object has a function/object pointer that is not NULL.

If this method returns FALSE, calling the function will result in an assertion being raised.

template<typename R , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 >
Bool om::lang::Function< R(T1, T2, T3, T4, T5, T6, T7, T8) >::isMember ( ) const
inline

Return whether or not this function object refers to a member function of a class object.

Member Data Documentation

template<typename R , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 >
void* om::lang::Function< R(T1, T2, T3, T4, T5, T6, T7, T8) >::object

A pointer to the object that receives the member function call.

template<typename R , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 >
R(* om::lang::Function< R(T1, T2, T3, T4, T5, T6, T7, T8) >::staticFunctionPointer) (T1, T2, T3, T4, T5, T6, T7, T8)

A non-member function pointer to use when the function object represents a non-member function.

template<typename R , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 >
UByte om::lang::Function< R(T1, T2, T3, T4, T5, T6, T7, T8) >::memberFunctionStorage[MEMBER_FUNCTION_STORAGE_SIZE]

A local buffer of bytes that stores an opaque member function.


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