library of assembled shared sources

http://lass.cocamware.com

lass::util::CallbackR1< R, P1 > Class Template Reference
[Callback]

callback with 1 parameter1 and with returnvalue. More...

#include <callback_r_1.h>


Public Types

typedef CallbackR1< R, P1 > TSelf
typedef SharedPtr
< impl::DispatcherR1< R, P1 > > 
TDispatcherPtr

Public Member Functions

 CallbackR1 ()
 Default constructor, construct empty callback.
template<typename FunctionType >
 CallbackR1 (FunctionType iFunction)
 Construct function callback.
template<typename ObjectPtr , typename Method >
 CallbackR1 (ObjectPtr iObject, Method iMethod)
 Construct object/method callback.
 CallbackR1 (const TSelf &iOther)
 copy constructor
template<typename Other >
TSelfoperator= (const Other &iOther)
 assignment operator
operator() (typename util::CallTraits< P1 >::TParam iP1) 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 >
CallbackR1< R, P1 > makeCallback (R(*iFunction)(P1))
 make a CallbackR1 from a function
template<typename R , typename P1 >
const CallbackR1< R, P1 > & makeCallback (const CallbackR1< R, P1 > &iCallback)
 make a CallbackR1 from a function
template<typename ObjectPtr , typename Object , typename R , typename P1 >
CallbackR1< R, P1 > makeCallback (ObjectPtr iObject, R(Object::*iMethod)(P1))
 make a CallbackR1 from a object and method


Detailed Description

template<typename R, typename P1>
class lass::util::CallbackR1< R, P1 >

callback with 1 parameter1 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 1 parameter(s) and gives a returnvalue.

Definition at line 97 of file callback_r_1.h.


Member Typedef Documentation

template<typename R , typename P1 >
typedef CallbackR1<R, P1> lass::util::CallbackR1< R, P1 >::TSelf

Definition at line 101 of file callback_r_1.h.

template<typename R , typename P1 >
typedef SharedPtr< impl::DispatcherR1<R, P1> > lass::util::CallbackR1< R, P1 >::TDispatcherPtr

Definition at line 102 of file callback_r_1.h.


Constructor & Destructor Documentation

template<typename R , typename P1 >
lass::util::CallbackR1< R, P1 >::CallbackR1 (  )  [inline]

Default constructor, construct empty callback.

Definition at line 108 of file callback_r_1.h.

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

Construct function callback.

Definition at line 115 of file callback_r_1.h.

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

Construct object/method callback.

Definition at line 123 of file callback_r_1.h.

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

copy constructor

Definition at line 130 of file callback_r_1.h.


Member Function Documentation

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

assignment operator

Definition at line 142 of file callback_r_1.h.

References lass::util::CallbackR1< R, P1 >::swap().

template<typename R , typename P1 >
R lass::util::CallbackR1< R, P1 >::operator() ( typename util::CallTraits< P1 >::TParam  iP1  )  const [inline]

THE operator.

Executes the callback.

Definition at line 151 of file callback_r_1.h.

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

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

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

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

Definition at line 172 of file callback_r_1.h.

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

Referenced by lass::util::CallbackR1< R, P1 >::operator()().

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

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

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

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

Definition at line 193 of file callback_r_1.h.

References lass::util::CallbackR1< R, P1 >::dispatcher_.

Referenced by lass::util::CallbackR1< R, P1 >::operator=().


Friends And Related Function Documentation

template<typename R , typename P1 >
CallbackR1< R, P1 > makeCallback ( R(*)(P1)  iFunction  )  [related]

make a CallbackR1 from a function

Definition at line 209 of file callback_r_1.h.

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

make a CallbackR1 from a function

Definition at line 220 of file callback_r_1.h.

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

make a CallbackR1 from a object and method

make a CallbackR1 from a object and const method

Definition at line 231 of file callback_r_1.h.


Field Documentation

template<typename R , typename P1 >
TDispatcherPtr lass::util::CallbackR1< R, P1 >::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