//	Darkstar Engine  (c) UnderWorld Interactive Studio (all coding by Svarog    2007)
//
//      Данный файл является частью Darkstar Engine. Любое использование кода файла
//      без согласия компании, является нарушением закона об авторском праве (в слу-
//      чае если не оговорено обратное).
//
//      Имя файла: average_stack.hpp
//      Краткое описание: Стек для хранения значений и получения среднего
//

#ifndef DSE_KERNEL_MISC_AVERAGE_STACK_HPP
#define DSE_KERNEL_MISC_AVERAGE_STACK_HPP

#include <Darkstar/common.hpp>

namespace ker
{
	template<typename T>
	class AverageStack
	{
	private:
		unsigned int size;
		unsigned int cur_pos;
		std::vector<T> values;
	public:
		AverageStack(const unsigned int size);
		~AverageStack();

		void push(const T& value);
		T getAverage() const;
	};
};

#include <Darkstar/Kernel/Misc/average_stack.inl>

#endif