Sourceforge.net - The VCF's Project Host
   The VCF Website Home   |   Online Discussion Forums   |   Sourceforge.net Project Page   

VCF::ThreadedProcedure2< ParamType1, ParamType2, ClassType > Class Template Reference

#include <ThreadedFunctions.h>

Inheritance diagram for VCF::ThreadedProcedure2< ParamType1, ParamType2, ClassType >:

VCF::Runnable List of all members.

Public Types

typedef NullClassType2< ParamType1,
ParamType2 > 
NullClassType
typedef void(* ProcPtr )(ParamType1 p1, ParamType2 p2)
typedef void(* ProcThreadPtr )(Thread *thread, ParamType1 p1, ParamType2 p2)
typedef void(ClassType::* ClassProcPtr )(ParamType1 p1, ParamType2 p2)
typedef void(ClassType::* ClassThreadProcPtr )(Thread *thread, ParamType1 p1, ParamType2 p2)
typedef ThreadedProcedure2<
ParamType1, ParamType2, ClassType > 
BaseClass

Public Member Functions

 ThreadedProcedure2 (ParamType1 p1, ParamType2 p2, ProcPtr procPtr)
 ThreadedProcedure2 (ParamType1 p1, ParamType2 p2, ProcThreadPtr procPtr)
 ThreadedProcedure2 (ClassType *src, ParamType1 p1, ParamType2 p2, ClassProcPtr procPtr)
 ThreadedProcedure2 (ClassType *src, ParamType1 p1, ParamType2 p2, ClassThreadProcPtr procPtr)
virtual bool run ()
 Executes the runnable code.
virtual void stop ()
 stops the task from running.
RunnablegetParams ()
Threadinvoke ()

Protected Member Functions

 ThreadedProcedure2 (ParamType1 p1, ParamType2 p2)

Protected Attributes

ParamType1 param1_
ParamType2 param2_
RunnableinternalParams_
ThreadrunningThread_
ProcPtr procPtr_
ProcThreadPtr procThreadPtr_
ClassProcPtr classProcPtr_
ClassThreadProcPtr classThreadProcPtr_
ClassType * instancePtr_

template<typename ParamType1, typename ParamType2, typename ClassType = NullClassType2<ParamType1,ParamType2>>
class VCF::ThreadedProcedure2< ParamType1, ParamType2, ClassType >


Member Typedef Documentation

template<typename ParamType1, typename ParamType2, typename ClassType = NullClassType2<ParamType1,ParamType2>>
typedef ThreadedProcedure2<ParamType1,ParamType2,ClassType> VCF::ThreadedProcedure2< ParamType1, ParamType2, ClassType >::BaseClass
 

template<typename ParamType1, typename ParamType2, typename ClassType = NullClassType2<ParamType1,ParamType2>>
typedef void(ClassType::* VCF::ThreadedProcedure2< ParamType1, ParamType2, ClassType >::ClassProcPtr)(ParamType1 p1, ParamType2 p2)
 

template<typename ParamType1, typename ParamType2, typename ClassType = NullClassType2<ParamType1,ParamType2>>
typedef void(ClassType::* VCF::ThreadedProcedure2< ParamType1, ParamType2, ClassType >::ClassThreadProcPtr)(Thread *thread, ParamType1 p1, ParamType2 p2)
 

template<typename ParamType1, typename ParamType2, typename ClassType = NullClassType2<ParamType1,ParamType2>>
typedef NullClassType2<ParamType1,ParamType2> VCF::ThreadedProcedure2< ParamType1, ParamType2, ClassType >::NullClassType
 

template<typename ParamType1, typename ParamType2, typename ClassType = NullClassType2<ParamType1,ParamType2>>
typedef void(* VCF::ThreadedProcedure2< ParamType1, ParamType2, ClassType >::ProcPtr)(ParamType1 p1, ParamType2 p2)
 

template<typename ParamType1, typename ParamType2, typename ClassType = NullClassType2<ParamType1,ParamType2>>
typedef void(* VCF::ThreadedProcedure2< ParamType1, ParamType2, ClassType >::ProcThreadPtr)(Thread *thread, ParamType1 p1, ParamType2 p2)
 


Constructor & Destructor Documentation

template<typename ParamType1, typename ParamType2, typename ClassType = NullClassType2<ParamType1,ParamType2>>
VCF::ThreadedProcedure2< ParamType1, ParamType2, ClassType >::ThreadedProcedure2 ParamType1  p1,
ParamType2  p2,
ProcPtr  procPtr
[inline]
 

template<typename ParamType1, typename ParamType2, typename ClassType = NullClassType2<ParamType1,ParamType2>>
VCF::ThreadedProcedure2< ParamType1, ParamType2, ClassType >::ThreadedProcedure2 ParamType1  p1,
ParamType2  p2,
ProcThreadPtr  procPtr
[inline]
 

template<typename ParamType1, typename ParamType2, typename ClassType = NullClassType2<ParamType1,ParamType2>>
VCF::ThreadedProcedure2< ParamType1, ParamType2, ClassType >::ThreadedProcedure2 ClassType *  src,
ParamType1  p1,
ParamType2  p2,
ClassProcPtr  procPtr
[inline]
 

template<typename ParamType1, typename ParamType2, typename ClassType = NullClassType2<ParamType1,ParamType2>>
VCF::ThreadedProcedure2< ParamType1, ParamType2, ClassType >::ThreadedProcedure2 ClassType *  src,
ParamType1  p1,
ParamType2  p2,
ClassThreadProcPtr  procPtr
[inline]
 

template<typename ParamType1, typename ParamType2, typename ClassType = NullClassType2<ParamType1,ParamType2>>
VCF::ThreadedProcedure2< ParamType1, ParamType2, ClassType >::ThreadedProcedure2 ParamType1  p1,
ParamType2  p2
[inline, protected]
 


Member Function Documentation

template<typename ParamType1, typename ParamType2, typename ClassType = NullClassType2<ParamType1,ParamType2>>
Runnable* VCF::ThreadedProcedure2< ParamType1, ParamType2, ClassType >::getParams  )  [inline]
 

template<typename ParamType1, typename ParamType2, typename ClassType = NullClassType2<ParamType1,ParamType2>>
Thread* VCF::ThreadedProcedure2< ParamType1, ParamType2, ClassType >::invoke  )  [inline]
 

template<typename ParamType1, typename ParamType2, typename ClassType = NullClassType2<ParamType1,ParamType2>>
virtual bool VCF::ThreadedProcedure2< ParamType1, ParamType2, ClassType >::run  )  [inline, virtual]
 

Executes the runnable code.

Returns:
returns true is the execution was suvvessful, or false if not.

Implements VCF::Runnable.

template<typename ParamType1, typename ParamType2, typename ClassType = NullClassType2<ParamType1,ParamType2>>
virtual void VCF::ThreadedProcedure2< ParamType1, ParamType2, ClassType >::stop  )  [inline, virtual]
 

stops the task from running.

Should allow the implementer to gracefully finish whatever they were doing and exit the run() method as soon as possible.

Implements VCF::Runnable.


Member Data Documentation

template<typename ParamType1, typename ParamType2, typename ClassType = NullClassType2<ParamType1,ParamType2>>
ClassProcPtr VCF::ThreadedProcedure2< ParamType1, ParamType2, ClassType >::classProcPtr_ [protected]
 

template<typename ParamType1, typename ParamType2, typename ClassType = NullClassType2<ParamType1,ParamType2>>
ClassThreadProcPtr VCF::ThreadedProcedure2< ParamType1, ParamType2, ClassType >::classThreadProcPtr_ [protected]
 

template<typename ParamType1, typename ParamType2, typename ClassType = NullClassType2<ParamType1,ParamType2>>
ClassType* VCF::ThreadedProcedure2< ParamType1, ParamType2, ClassType >::instancePtr_ [protected]
 

template<typename ParamType1, typename ParamType2, typename ClassType = NullClassType2<ParamType1,ParamType2>>
Runnable* VCF::ThreadedProcedure2< ParamType1, ParamType2, ClassType >::internalParams_ [protected]
 

template<typename ParamType1, typename ParamType2, typename ClassType = NullClassType2<ParamType1,ParamType2>>
ParamType1 VCF::ThreadedProcedure2< ParamType1, ParamType2, ClassType >::param1_ [protected]
 

template<typename ParamType1, typename ParamType2, typename ClassType = NullClassType2<ParamType1,ParamType2>>
ParamType2 VCF::ThreadedProcedure2< ParamType1, ParamType2, ClassType >::param2_ [protected]
 

template<typename ParamType1, typename ParamType2, typename ClassType = NullClassType2<ParamType1,ParamType2>>
ProcPtr VCF::ThreadedProcedure2< ParamType1, ParamType2, ClassType >::procPtr_ [protected]
 

template<typename ParamType1, typename ParamType2, typename ClassType = NullClassType2<ParamType1,ParamType2>>
ProcThreadPtr VCF::ThreadedProcedure2< ParamType1, ParamType2, ClassType >::procThreadPtr_ [protected]
 

template<typename ParamType1, typename ParamType2, typename ClassType = NullClassType2<ParamType1,ParamType2>>
Thread* VCF::ThreadedProcedure2< ParamType1, ParamType2, ClassType >::runningThread_ [protected]
 


The documentation for this class was generated from the following file:
   Comments or Suggestions?    License Information