/***************************************************************************
*                                                                          *
*  Copyright (C) Golaem S.A.  All Rights Reserved.                         *
*                                                                          *
***************************************************************************/

#pragma once

#include "glmCoreAPI.h"
#include "glmTypes.h"

namespace glm
{
	typedef uint64_t timeframe_t;

	//NOTE: this isn't thread-safe
	class GLM_CORE_API TimeFrameCounter
	{
	public:

		TimeFrameCounter() : _timeFrameCount(0) {}
		~TimeFrameCounter();

		GLM_FORCE_INLINE void increment() { ++_timeFrameCount; }

		GLM_FORCE_INLINE timeframe_t getFrameCount() const { return _timeFrameCount; }

	private:
		timeframe_t _timeFrameCount;
	};
}
