Library of Assembled Shared Sources
lass::util::CallbackR3< R, P1, P2, P3 > Class Template Reference

callback with 3 parameter3 and with returnvalue. More...

#include <callback_r_3.h>

Inheritance diagram for lass::util::CallbackR3< R, P1, P2, P3 >:

Public Member Functions

 CallbackR3 ()
 Default constructor, construct empty callback.
 
template<typename FunctionType>
 CallbackR3 (FunctionType iFunction)
 Construct function callback.
 
template<typename ObjectPtr, typename Method>
 CallbackR3 (ObjectPtr iObject, Method iMethod)
 Construct object/method callback.
 
 CallbackR3 (const TSelf &iOther)
 copy constructor
 
 CallbackR3 (TSelf &&iOther) noexcept
 move constructor
 
TSelfoperator= (const TSelf &iOther)
 assignment operator
 
TSelfoperator= (TSelf &&iOther) noexcept
 assignment operator
 
operator() (typename util::CallTraits< P1 >::TParam iP1, typename util::CallTraits< P2 >::TParam iP2, typename util::CallTraits< P3 >::TParam iP3) const
 THE operator.
 
void reset ()
 Reset to empty callback.
 
bool isEmpty () const
 Returns true if no callback dispatcher is assigned to this object.
 
bool operator! () const
 return this->isEmpty()
 
 operator bool () const
 return !this->isEmpty())
 
void swap (TSelf &iOther)
 Swaps the dispatcher of this callback with the dispatcher of another.
 
bool operator== (const TSelf &iOther) const
 return true if two callbacks call the same function/method, NEEDS RTTI!
 

Related Symbols

(Note that these are not member symbols.)

template<typename R, typename P1, typename P2, typename P3>
bool operator!= (const CallbackR3< R, P1, P2, P3 > &iA, const CallbackR3< R, P1, P2, P3 > &iB)
 return true if two callbacks are different
 
template<typename R, typename P1, typename P2, typename P3>
CallbackR3< R, P1, P2, P3 > makeCallback (R(*iFunction)(P1, P2, P3))
 make a CallbackR3 from a function
 
template<typename R, typename P1, typename P2, typename P3>
const CallbackR3< R, P1, P2, P3 > & makeCallback (const CallbackR3< R, P1, P2, P3 > &iCallback)
 make a CallbackR3 from a function
 
template<typename ObjectPtr, typename Object, typename R, typename P1, typename P2, typename P3>
CallbackR3< R, P1, P2, P3 > makeCallback (ObjectPtr iObject, R(Object::*iMethod)(P1, P2, P3))
 make a CallbackR3 from a object and method
 
template<typename ObjectPtr, typename Object, typename R, typename P1, typename P2, typename P3>
CallbackR3< R, P1, P2, P3 > makeCallback (ObjectPtr iObject, R(Object::*iMethod)(P1, P2, P3) const)
 make a CallbackR3 from a object and const method
 

Detailed Description

template<typename R, typename P1, typename P2, typename P3>
class lass::util::CallbackR3< R, P1, P2, P3 >

callback with 3 parameter3 and with returnvalue.

Date
2002
Author
Bram de Greve [Bramz] (contact: bram@.nosp@m.coca.nosp@m.mware.nosp@m..com)

It's a single object that can hold a reference to a free function or an object/(const) method pair. Once the callback is constructed, it works completely transparent. All it shows to the client is a function that takes 3 parameter(s) and gives a returnvalue.

Definition at line 97 of file callback_r_3.h.

Member Function Documentation

◆ operator()()

template<typename R, typename P1, typename P2, typename P3>
R lass::util::CallbackR3< R, P1, P2, P3 >::operator() ( typename util::CallTraits< P1 >::TParam iP1,
typename util::CallTraits< P2 >::TParam iP2,
typename util::CallTraits< P3 >::TParam iP3 ) const
inline

THE operator.

Executes the callback.

Definition at line 164 of file callback_r_3.h.


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