library of assembled shared sources

http://lass.cocamware.com

lass::util::CallbackR3< R, P1, P2, P3 > Class Template Reference
[Callback]

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

#include <callback_r_3.h>


Public Types

typedef CallbackR3< R, P1, P2, P3 > TSelf
typedef SharedPtr
< impl::DispatcherR3< R, P1,
P2, P3 > > 
TDispatcherPtr

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
template<typename Other >
TSelfoperator= (const Other &iOther)
 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 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 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


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: 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 3 parameter(s) and gives a returnvalue.

Definition at line 97 of file callback_r_3.h.


Member Typedef Documentation

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

Definition at line 101 of file callback_r_3.h.

template<typename R , typename P1 , typename P2 , typename P3 >
typedef SharedPtr< impl::DispatcherR3<R, P1, P2, P3> > lass::util::CallbackR3< R, P1, P2, P3 >::TDispatcherPtr

Definition at line 102 of file callback_r_3.h.


Constructor & Destructor Documentation

template<typename R , typename P1 , typename P2 , typename P3 >
lass::util::CallbackR3< R, P1, P2, P3 >::CallbackR3 (  )  [inline]

Default constructor, construct empty callback.

Definition at line 108 of file callback_r_3.h.

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

Construct function callback.

Definition at line 115 of file callback_r_3.h.

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

Construct object/method callback.

Definition at line 123 of file callback_r_3.h.

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

copy constructor

Definition at line 130 of file callback_r_3.h.


Member Function Documentation

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

assignment operator

Definition at line 142 of file callback_r_3.h.

References lass::util::CallbackR3< R, P1, P2, P3 >::swap().

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 151 of file callback_r_3.h.

References lass::util::CallbackR3< R, P1, P2, P3 >::dispatcher_, lass::util::CallbackR3< R, P1, P2, P3 >::isEmpty(), and LASS_THROW_EX.

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

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

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

Definition at line 172 of file callback_r_3.h.

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

Referenced by lass::util::CallbackR3< R, P1, P2, P3 >::operator()().

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

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

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

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

Definition at line 193 of file callback_r_3.h.

References lass::util::CallbackR3< R, P1, P2, P3 >::dispatcher_.

Referenced by lass::util::CallbackR3< R, P1, P2, P3 >::operator=().


Friends And Related Function Documentation

template<typename R , typename P1 , typename P2 , typename P3 >
CallbackR3< R, P1, P2, P3 > makeCallback ( R(*)(P1, P2, P3)  iFunction  )  [related]

make a CallbackR3 from a function

Definition at line 209 of file callback_r_3.h.

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

make a CallbackR3 from a function

Definition at line 220 of file callback_r_3.h.

template<typename ObjectPtr , typename Object , typename R , typename P1 , typename P2 , typename P3 >
CallbackR3< R, P1, P2, P3 > makeCallback ( ObjectPtr  iObject,
R(Object::*)(P1, P2, P3)  iMethod 
) [related]

make a CallbackR3 from a object and method

make a CallbackR3 from a object and const method

Definition at line 231 of file callback_r_3.h.


Field Documentation

template<typename R , typename P1 , typename P2 , typename P3 >
TDispatcherPtr lass::util::CallbackR3< R, P1, P2, P3 >::dispatcher_ [private]


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

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