• Main Page
  • Related Pages
  • Modules
  • Namespaces
  • Classes
  • Files
  • File List
  • File Members

InlineFunctor.h

Go to the documentation of this file.
00001 #include "FunctionThread.h"
00002 #include "DS_List.h"
00003 
00004 class InlineFunctorProcessor;
00005 
00007 class InlineFunctor : public RakNet::Functor
00008 {
00009 protected:
00011         virtual void HandleResult(bool wasCancelled, void *context);
00012 
00014         int callDepth;
00015 
00017         InlineFunctorProcessor *ifp;
00018         friend class InlineFunctorProcessor;
00019 };
00020 
00022 class InlineFunctorProcessor
00023 {
00024 public:
00025         InlineFunctorProcessor();
00026         ~InlineFunctorProcessor();
00027 
00031         void StartThreads(int numThreads);
00032 
00035         void StopThreads(bool blockOnCurrentProcessing);
00036 
00040         void YieldOnFunctor(InlineFunctor *inlineFunctor);
00041 
00045         bool UpdateIFP(void);
00046 
00049         void Pop(int threadCallDepth);
00050 
00051 protected:
00052 
00054         unsigned GetCallDepth(void) const;
00055 
00057         RakNet::FunctionThread functionThread;
00058 
00060         DataStructures::List<bool> completedThreads;
00061 };

Generated on Thu Sep 30 2010 01:27:24 for RakNet by  doxygen 1.7.1