home *** CD-ROM | disk | FTP | other *** search
Text File | 1998-06-17 | 778 b | 37 lines | [TEXT/CWIE] |
- // DeferredTaskTime.h
-
- #ifndef DeferredTaskTime_h
- #define DeferredTaskTime_h
-
- #ifndef Assert_h
- #include "Assert.h"
- #endif
-
- class DeferredTaskTime;
- template < class P0 > class Procedure1;
- typedef Procedure1<DeferredTaskTime> DeferredTaskTimeProcedure;
-
- class DeferredTaskTime
- {
- friend class Deferer;
-
- private:
- static bool isNow;
-
- static void Start() { Assert( !IsNow() ); isNow = true; }
- static void End() { Assert( IsNow() ); isNow = false; }
-
- static pascal void DoNothing();
- static void TryToCauseInterrupt();
-
- public:
- DeferredTaskTime() { Assert( IsNow() ); }
- DeferredTaskTime( const DeferredTaskTime& ) { Assert( IsNow() ); }
-
- static bool IsNow() { return isNow; }
-
- static void Execute( DeferredTaskTimeProcedure& );
- };
-
- #endif
-