library of assembled shared sources

http://lass.cocamware.com

lass::util::Callback1< P1 > Class Template Reference
[Callback]

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

#include <callback_1.h>


Public Types

typedef Callback1< P1 > TSelf
typedef SharedPtr
< impl::Dispatcher1< P1 > > 
TDispatcherPtr

Public Member Functions

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


Detailed Description

template<typename P1>
class lass::util::Callback1< P1 >

callback with 1 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_1.h.


Member Typedef Documentation

template<typename P1 >
typedef Callback1<P1> lass::util::Callback1< P1 >::TSelf

Definition at line 100 of file callback_1.h.

template<typename P1 >
typedef SharedPtr< impl::Dispatcher1<P1> > lass::util::Callback1< P1 >::TDispatcherPtr

Definition at line 101 of file callback_1.h.


Constructor & Destructor Documentation

template<typename P1 >
lass::util::Callback1< P1 >::Callback1 (  )  [inline]

Default constructor, construct empty callback.

Definition at line 107 of file callback_1.h.

template<typename P1 >
template<typename FunctionType >
lass::util::Callback1< P1 >::Callback1 ( FunctionType  iFunction  )  [inline]

Construct function callback.

Definition at line 114 of file callback_1.h.

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

Construct object/method callback.

Definition at line 122 of file callback_1.h.

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

copy constructor

Definition at line 129 of file callback_1.h.


Member Function Documentation

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

assignment operator

Definition at line 141 of file callback_1.h.

References lass::util::Callback1< P1 >::swap().

template<typename P1 >
void lass::util::Callback1< P1 >::operator() ( typename util::CallTraits< P1 >::TParam  iP1  )  const [inline]

THE operator.

Executes the callback.

Definition at line 150 of file callback_1.h.

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

template<typename P1 >
void lass::util::Callback1< P1 >::reset (  )  [inline]

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

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

Definition at line 170 of file callback_1.h.

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

Referenced by lass::util::Callback1< P1 >::operator()().

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

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

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

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

Definition at line 191 of file callback_1.h.

References lass::util::Callback1< P1 >::dispatcher_.

Referenced by lass::util::Callback1< P1 >::operator=().


Friends And Related Function Documentation

template<typename P1 >
Callback1< P1 > makeCallback ( void(*)(P1)  iFunction  )  [related]

make a Callback1 from a function

Definition at line 207 of file callback_1.h.

template<typename P1 >
const Callback1< P1 > & makeCallback ( const Callback1< P1 > &  iCallback  )  [related]

make a Callback1 from a callback

Definition at line 218 of file callback_1.h.

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

make a Callback1 from a object and method

make a Callback1 from a object and const method

Definition at line 229 of file callback_1.h.


Field Documentation

template<typename P1 >
TDispatcherPtr lass::util::Callback1< 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