#ifndef CLK_TCK
#define CLK_TCK CLOCKS_PER_SEC
#endif
template<class _Ty = long>
class TimerRunBase
{
public:
TimerRunBase() : iStart(0), iStop(0) {}
~TimerRunBase() {}
void Start()
{
iStop = iStart = _Ty(clock()) / CLK_TCK;
}
void Stop()
{
iStop = _Ty(clock()) / CLK_TCK;
}
_Ty GetTimer(void)
{
return (iStop - iStart);
}
private:
_Ty iStart;
_Ty iStop;
};
typedef TimerRunBase<> TimerRun;
int main(int argc, char* argv[])
{
TimerRun timer;
timer.Start();
Sleep(10000);
timer.Stop();
timer.GetTimer();
return 0;
}