#pragma once
#define NOMINMAX
#define WIN32_LEAN_AND_MEAN
#include <windows.h> //TODO : Enlever les definitions pour utiliser <windef.h> plutot que <windows.h>

/**
* @brief Utility class to get information about the time.
*/
class Timer
{
	void operator= (const Timer &);
	Timer (const Timer &);

  LARGE_INTEGER m_frequency;
public:
  Timer()
	{
    QueryPerformanceFrequency(&m_frequency);
  }

	typedef long long value_type;
	const value_type currentTime()
  {
		LARGE_INTEGER tick;
		QueryPerformanceCounter(&tick);
		return tick.QuadPart;
  }
	const value_type timeFrequency()
  {
    return m_frequency.QuadPart;
  }
};
