library of assembled shared sources

http://lass.cocamware.com

lass::util::Callback2< P1, P2 > Class Template Reference
[Callback]

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

#include <callback_2.h>


Public Types

typedef Callback2< P1, P2 > TSelf
typedef SharedPtr
< impl::Dispatcher2< P1, P2 > > 
TDispatcherPtr

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
template<typename Other >
TSelfoperator= (const Other &iOther)
 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 num::SafeBool () const
 return !this->isEmpty())
void swap (TSelf &iOther)
 Swaps the dispatcher of this callback with the dispatcher of another.

Private Attributes

TDispatcherPtr dispatcher_

Related Functions

(Note that these are not member functions.)

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


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: bramz@users.sourceforge.net)
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 Typedef Documentation

template<typename P1 , typename P2 >
typedef Callback2<P1, P2> lass::util::Callback2< P1, P2 >::TSelf

Definition at line 100 of file callback_2.h.

template<typename P1 , typename P2 >
typedef SharedPtr< impl::Dispatcher2<P1, P2> > lass::util::Callback2< P1, P2 >::TDispatcherPtr

Definition at line 101 of file callback_2.h.


Constructor & Destructor Documentation

template<typename P1 , typename P2 >
lass::util::Callback2< P1, P2 >::Callback2 (  )  [inline]

Default constructor, construct empty callback.

Definition at line 107 of file callback_2.h.

template<typename P1 , typename P2 >
template<typename FunctionType >
lass::util::Callback2< P1, P2 >::Callback2 ( FunctionType  iFunction  )  [inline]

Construct function callback.

Definition at line 114 of file callback_2.h.

template<typename P1 , typename P2 >
template<typename ObjectPtr , typename Method >
lass::util::Callback2< P1, P2 >::Callback2 ( ObjectPtr  iObject,
Method  iMethod 
) [inline]

Construct object/method callback.

Definition at line 122 of file callback_2.h.

template<typename P1 , typename P2 >
lass::util::Callback2< P1, P2 >::Callback2 ( const TSelf iOther  )  [inline]

copy constructor

Definition at line 129 of file callback_2.h.


Member Function Documentation

template<typename P1 , typename P2 >
template<typename Other >
TSelf& lass::util::Callback2< P1, P2 >::operator= ( const Other &  iOther  )  [inline]

assignment operator

Definition at line 141 of file callback_2.h.

References lass::util::Callback2< P1, P2 >::swap().

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 150 of file callback_2.h.

References lass::util::Callback2< P1, P2 >::dispatcher_, and lass::util::Callback2< P1, P2 >::isEmpty().

template<typename P1 , typename P2 >
void lass::util::Callback2< P1, P2 >::reset (  )  [inline]

template<typename P1 , typename P2 >
bool lass::util::Callback2< P1, P2 >::isEmpty (  )  const [inline]

Returns true if no callback dispatcher is assigned to this object.

Definition at line 170 of file callback_2.h.

References lass::util::Callback2< P1, P2 >::dispatcher_, and lass::util::SharedPtr< T, StoragePolicy, CounterPolicy >::isEmpty().

Referenced by lass::util::Callback2< P1, P2 >::operator()().

template<typename P1 , typename P2 >
bool lass::util::Callback2< P1, P2 >::operator! (  )  const [inline]

template<typename P1 , typename P2 >
lass::util::Callback2< P1, P2 >::operator num::SafeBool (  )  const [inline]

template<typename P1 , typename P2 >
void lass::util::Callback2< P1, P2 >::swap ( TSelf iOther  )  [inline]

Swaps the dispatcher of this callback with the dispatcher of another.

Definition at line 191 of file callback_2.h.

References lass::util::Callback2< P1, P2 >::dispatcher_.

Referenced by lass::util::Callback2< P1, P2 >::operator=().


Friends And Related Function Documentation

template<typename P1 , typename P2 >
Callback2< P1, P2 > makeCallback ( void(*)(P1, P2)  iFunction  )  [related]

make a Callback2 from a function

Definition at line 207 of file callback_2.h.

template<typename P1 , typename P2 >
const Callback2< P1, P2 > & makeCallback ( const Callback2< P1, P2 > &  iCallback  )  [related]

make a Callback2 from a callback

Definition at line 218 of file callback_2.h.

template<typename ObjectPtr , typename Object , typename P1 , typename P2 >
Callback2< P1, P2 > makeCallback ( ObjectPtr  iObject,
void(Object::*)(P1, P2)  iMethod 
) [related]

make a Callback2 from a object and method

make a Callback2 from a object and const method

Definition at line 229 of file callback_2.h.


Field Documentation

template<typename P1 , typename P2 >
TDispatcherPtr lass::util::Callback2< P1, P2 >::dispatcher_ [private]


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

Generated on Mon Nov 10 14:22:16 2008 for Library of Assembled Shared Sources by doxygen 1.5.7.1
SourceForge.net Logo