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

VCF::ThreadedProcedure4< ParamType1, ParamType2, ParamType3, ParamType4, ClassType > Class Template Reference

#include <ThreadedFunctions.h>

Inheritance diagram for VCF::ThreadedProcedure4< ParamType1, ParamType2, ParamType3, ParamType4, ClassType >:

VCF::Runnable List of all members.

Public Types

typedef NullClassType4< ParamType1,
ParamType2, ParamType3, ParamType4 > 
NullClassType
typedef void(* ProcPtr )(ParamType1 p1, ParamType2 p2, ParamType3 p3, ParamType4 p4)
typedef void(* ProcThreadPtr )(Thread *thread, ParamType1 p1, ParamType2 p2, ParamType3 p3, ParamType4 p4)
typedef void(ClassType::* ClassProcPtr )(ParamType1 p1, ParamType2 p2, ParamType3 p3, ParamType4 p4)
typedef void(ClassType::* ClassThreadProcPtr )(Thread *thread, ParamType1 p1, ParamType2 p2, ParamType3 p3, ParamType4 p4)
typedef ThreadedProcedure4<
ParamType1, ParamType2, ParamType3,
ParamType4, ClassType > 
BaseClass

Public Member Functions

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

Protected Member Functions

 ThreadedProcedure4 (ParamType1 p1, ParamType2 p2, ParamType3 p3, ParamType4 p4)

Protected Attributes

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

template<typename ParamType1, typename ParamType2, typename ParamType3, typename ParamType4, typename ClassType = NullClassType4<ParamType1,ParamType2,ParamType3,ParamType4>>
class VCF::ThreadedProcedure4< ParamType1, ParamType2, ParamType3, ParamType4, ClassType >


Member Typedef Documentation

template<typename ParamType1, typename ParamType2, typename ParamType3, typename ParamType4, typename ClassType = NullClassType4<ParamType1,ParamType2,ParamType3,ParamType4>>
typedef ThreadedProcedure4<ParamType1,ParamType2,ParamType3,ParamType4,ClassType> VCF::ThreadedProcedure4< ParamType1, ParamType2, ParamType3, ParamType4, ClassType >::BaseClass
 

template<typename ParamType1, typename ParamType2, typename ParamType3, typename ParamType4, typename ClassType = NullClassType4<ParamType1,ParamType2,ParamType3,ParamType4>>
typedef void(ClassType::* VCF::ThreadedProcedure4< ParamType1, ParamType2, ParamType3, ParamType4, ClassType >::ClassProcPtr)(ParamType1 p1, ParamType2 p2, ParamType3 p3, ParamType4 p4)
 

template<typename ParamType1, typename ParamType2, typename ParamType3, typename ParamType4, typename ClassType = NullClassType4<ParamType1,ParamType2,ParamType3,ParamType4>>
typedef void(ClassType::* VCF::ThreadedProcedure4< ParamType1, ParamType2, ParamType3, ParamType4, ClassType >::ClassThreadProcPtr)(Thread *thread, ParamType1 p1, ParamType2 p2, ParamType3 p3, ParamType4 p4)
 

template<typename ParamType1, typename ParamType2, typename ParamType3, typename ParamType4, typename ClassType = NullClassType4<ParamType1,ParamType2,ParamType3,ParamType4>>
typedef NullClassType4<ParamType1,ParamType2,ParamType3,ParamType4> VCF::ThreadedProcedure4< ParamType1, ParamType2, ParamType3, ParamType4, ClassType >::NullClassType
 

template<typename ParamType1, typename ParamType2, typename ParamType3, typename ParamType4, typename ClassType = NullClassType4<ParamType1,ParamType2,ParamType3,ParamType4>>
typedef void(* VCF::ThreadedProcedure4< ParamType1, ParamType2, ParamType3, ParamType4, ClassType >::ProcPtr)(ParamType1 p1, ParamType2 p2, ParamType3 p3, ParamType4 p4)
 

template<typename ParamType1, typename ParamType2, typename ParamType3, typename ParamType4, typename ClassType = NullClassType4<ParamType1,ParamType2,ParamType3,ParamType4>>
typedef void(* VCF::ThreadedProcedure4< ParamType1, ParamType2, ParamType3, ParamType4, ClassType >::ProcThreadPtr)(Thread *thread, ParamType1 p1, ParamType2 p2, ParamType3 p3, ParamType4 p4)
 


Constructor & Destructor Documentation

template<typename ParamType1, typename ParamType2, typename ParamType3, typename ParamType4, typename ClassType = NullClassType4<ParamType1,ParamType2,ParamType3,ParamType4>>
VCF::ThreadedProcedure4< ParamType1, ParamType2, ParamType3, ParamType4, ClassType >::ThreadedProcedure4 ParamType1  p1,
ParamType2  p2,
ParamType3  p3,
ParamType4  p4,
ProcPtr  procPtr
[inline]
 

template<typename ParamType1, typename ParamType2, typename ParamType3, typename ParamType4, typename ClassType = NullClassType4<ParamType1,ParamType2,ParamType3,ParamType4>>
VCF::ThreadedProcedure4< ParamType1, ParamType2, ParamType3, ParamType4, ClassType >::ThreadedProcedure4 ParamType1  p1,
ParamType2  p2,
ParamType3  p3,
ParamType4  p4,
ProcThreadPtr  procPtr
[inline]
 

template<typename ParamType1, typename ParamType2, typename ParamType3, typename ParamType4, typename ClassType = NullClassType4<ParamType1,ParamType2,ParamType3,ParamType4>>
VCF::ThreadedProcedure4< ParamType1, ParamType2, ParamType3, ParamType4, ClassType >::ThreadedProcedure4 ClassType *  src,
ParamType1  p1,
ParamType2  p2,
ParamType3  p3,
ParamType4  p4,
ClassProcPtr  procPtr
[inline]
 

template<typename ParamType1, typename ParamType2, typename ParamType3, typename ParamType4, typename ClassType = NullClassType4<ParamType1,ParamType2,ParamType3,ParamType4>>
VCF::ThreadedProcedure4< ParamType1, ParamType2, ParamType3, ParamType4, ClassType >::ThreadedProcedure4 ClassType *  src,
ParamType1  p1,
ParamType2  p2,
ParamType3  p3,
ParamType4  p4,
ClassThreadProcPtr  procPtr
[inline]
 

template<typename ParamType1, typename ParamType2, typename ParamType3, typename ParamType4, typename ClassType = NullClassType4<ParamType1,ParamType2,ParamType3,ParamType4>>
VCF::ThreadedProcedure4< ParamType1, ParamType2, ParamType3, ParamType4, ClassType >::ThreadedProcedure4 ParamType1  p1,
ParamType2  p2,
ParamType3  p3,
ParamType4  p4
[inline, protected]
 


Member Function Documentation

template<typename ParamType1, typename ParamType2, typename ParamType3, typename ParamType4, typename ClassType = NullClassType4<ParamType1,ParamType2,ParamType3,ParamType4>>
Runnable* VCF::ThreadedProcedure4< ParamType1, ParamType2, ParamType3, ParamType4, ClassType >::getParams  )  [inline]
 

template<typename ParamType1, typename ParamType2, typename ParamType3, typename ParamType4, typename ClassType = NullClassType4<ParamType1,ParamType2,ParamType3,ParamType4>>
Thread* VCF::ThreadedProcedure4< ParamType1, ParamType2, ParamType3, ParamType4, ClassType >::invoke  )  [inline]
 

template<typename ParamType1, typename ParamType2, typename ParamType3, typename ParamType4, typename ClassType = NullClassType4<ParamType1,ParamType2,ParamType3,ParamType4>>
virtual bool VCF::ThreadedProcedure4< ParamType1, ParamType2, ParamType3, ParamType4, 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 ParamType3, typename ParamType4, typename ClassType = NullClassType4<ParamType1,ParamType2,ParamType3,ParamType4>>
virtual void VCF::ThreadedProcedure4< ParamType1, ParamType2, ParamType3, ParamType4, 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 ParamType3, typename ParamType4, typename ClassType = NullClassType4<ParamType1,ParamType2,ParamType3,ParamType4>>
ClassProcPtr VCF::ThreadedProcedure4< ParamType1, ParamType2, ParamType3, ParamType4, ClassType >::classProcPtr_ [protected]
 

template<typename ParamType1, typename ParamType2, typename ParamType3, typename ParamType4, typename ClassType = NullClassType4<ParamType1,ParamType2,ParamType3,ParamType4>>
ClassThreadProcPtr VCF::ThreadedProcedure4< ParamType1, ParamType2, ParamType3, ParamType4, ClassType >::classThreadProcPtr_ [protected]
 

template<typename ParamType1, typename ParamType2, typename ParamType3, typename ParamType4, typename ClassType = NullClassType4<ParamType1,ParamType2,ParamType3,ParamType4>>
ClassType* VCF::ThreadedProcedure4< ParamType1, ParamType2, ParamType3, ParamType4, ClassType >::instancePtr_ [protected]
 

template<typename ParamType1, typename ParamType2, typename ParamType3, typename ParamType4, typename ClassType = NullClassType4<ParamType1,ParamType2,ParamType3,ParamType4>>
Runnable* VCF::ThreadedProcedure4< ParamType1, ParamType2, ParamType3, ParamType4, ClassType >::internalParams_ [protected]
 

template<typename ParamType1, typename ParamType2, typename ParamType3, typename ParamType4, typename ClassType = NullClassType4<ParamType1,ParamType2,ParamType3,ParamType4>>
ParamType1 VCF::ThreadedProcedure4< ParamType1, ParamType2, ParamType3, ParamType4, ClassType >::param1_ [protected]
 

template<typename ParamType1, typename ParamType2, typename ParamType3, typename ParamType4, typename ClassType = NullClassType4<ParamType1,ParamType2,ParamType3,ParamType4>>
ParamType2 VCF::ThreadedProcedure4< ParamType1, ParamType2, ParamType3, ParamType4, ClassType >::param2_ [protected]
 

template<typename ParamType1, typename ParamType2, typename ParamType3, typename ParamType4, typename ClassType = NullClassType4<ParamType1,ParamType2,ParamType3,ParamType4>>
ParamType3 VCF::ThreadedProcedure4< ParamType1, ParamType2, ParamType3, ParamType4, ClassType >::param3_ [protected]
 

template<typename ParamType1, typename ParamType2, typename ParamType3, typename ParamType4, typename ClassType = NullClassType4<ParamType1,ParamType2,ParamType3,ParamType4>>
ParamType4 VCF::ThreadedProcedure4< ParamType1, ParamType2, ParamType3, ParamType4, ClassType >::param4_ [protected]
 

template<typename ParamType1, typename ParamType2, typename ParamType3, typename ParamType4, typename ClassType = NullClassType4<ParamType1,ParamType2,ParamType3,ParamType4>>
ProcPtr VCF::ThreadedProcedure4< ParamType1, ParamType2, ParamType3, ParamType4, ClassType >::procPtr_ [protected]
 

template<typename ParamType1, typename ParamType2, typename ParamType3, typename ParamType4, typename ClassType = NullClassType4<ParamType1,ParamType2,ParamType3,ParamType4>>
ProcThreadPtr VCF::ThreadedProcedure4< ParamType1, ParamType2, ParamType3, ParamType4, ClassType >::procThreadPtr_ [protected]
 

template<typename ParamType1, typename ParamType2, typename ParamType3, typename ParamType4, typename ClassType = NullClassType4<ParamType1,ParamType2,ParamType3,ParamType4>>
Thread* VCF::ThreadedProcedure4< ParamType1, ParamType2, ParamType3, ParamType4, ClassType >::runningThread_ [protected]
 


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