#if !defined(TIMER_H_)
#define TIMER_H_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

unsigned long getMSTimer(void);

/****************************************************************************/
/** \class Timer
    \brief Allgemeine Klasse fuer einen hochaufloesenden Timer
           (Plattformabhaengig, siehe WIN32 Sections)
*****************************************************************************/
class Timer  
{
public:
	Timer();
	virtual ~Timer();

   void start(void);
   double end(void);

private:

#ifdef WIN32
 LARGE_INTEGER m_freq;
 LARGE_INTEGER m_start;
 LARGE_INTEGER m_stop;
#else 
 unsigned long m_freq;
 unsigned long m_start;
 unsigned long m_stop;
#endif
};
#endif // !defined(TIMER_H_)
