win32_timer_impl.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00033 #ifndef __win32_timer_impl__header__
00034 #define __win32_timer_impl__header__
00035
00036 #include "gpucalc/singleton.h"
00037
00038
00039 namespace gpucalc
00040 {
00041 const char _Win32TimerName [] = "Win32Timer";
00042
00043
00047 class _GpuCalcExport Timer: public Singleton<Timer>
00048 {
00049
00050 OBJ_DISABLE_COPY(Timer)
00051
00052
00053 public:
00054 Timer();
00055
00056
00057 ~Timer();
00058
00059
00060 double getTime();
00061
00062
00063 static Timer * getSingletonPtr();
00064
00065
00066 static Timer & getSingleton();
00067
00068
00069 private:
00070 bool mIsStarted;
00071 __int64 mStartTime;
00072 __int64 mFrequency;
00073
00074 unsigned long mProcAffinity;
00075 unsigned long mSysAffinity;
00076 void * mThread;
00077
00078 __int64 getCounter();
00079 };
00080 }
00081
00082 #endif