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

callback with 2 parameter(s) but without returnvalue. More...

#include <callback_2.h>

Public Member Functions

 Callback2 ()
 Default constructor, construct empty callback.
 
template<typename FunctionType>
 Callback2 (FunctionType iFunction)
 Construct function callback.
 
template<typename ObjectPtr, typename Method>
 Callback2 (ObjectPtr iObject, Method iMethod)
 Construct object/method callback.
 
 Callback2 (const TSelf &iOther)
 copy constructor
 
 Callback2 (TSelf &&iOther) noexcept
 move constructor
 
TSelfoperator= (const TSelf &iOther)
 assignment operator
 
TSelfoperator= (TSelf &&iOther) noexcept
 move assignment operator
 
void operator() (typename util::CallTraits< P1 >::TParam iP1, typename util::CallTraits< P2 >::TParam iP2) 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 P1, typename P2>
bool operator!= (const Callback2< P1, P2 > &iA, const Callback2< P1, P2 > &iB)
 return true if two callbacks are different
 
template<typename P1, typename P2>
Callback2< P1, P2 > makeCallback (void(*iFunction)(P1, P2))
 make a Callback2 from a function
 
template<typename P1, typename P2>
const Callback2< P1, P2 > & makeCallback (const Callback2< P1, P2 > &iCallback)
 make a Callback2 from a callback
 
template<typename ObjectPtr, typename Object, typename P1, typename P2>
Callback2< P1, P2 > makeCallback (ObjectPtr iObject, void(Object::*iMethod)(P1, P2))
 make a Callback2 from a object and method
 
template<typename ObjectPtr, typename Object, typename P1, typename P2>
Callback2< P1, P2 > makeCallback (ObjectPtr iObject, void(Object::*iMethod)(P1, P2) const)
 make a Callback2 from a object and const method
 

Detailed Description

template<typename P1, typename P2>
class lass::util::Callback2< P1, P2 >

callback with 2 parameter(s) but without 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 one parameter but gives no returnvalue.

Definition at line 96 of file callback_2.h.

Member Function Documentation

◆ operator()()

template<typename P1, typename P2>
void lass::util::Callback2< P1, P2 >::operator() ( typename util::CallTraits< P1 >::TParam iP1,
typename util::CallTraits< P2 >::TParam iP2 ) const
inline

THE operator.

Executes the callback.

Definition at line 163 of file callback_2.h.

References isEmpty().


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