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

namespace ker
{
	template <typename T>
	inline SingletonHolder<T>::SingletonHolder()
	{
		assert(data.get() == NULL);
		T* t = static_cast<T*>(this);
		data.reset(t);
	};

	template <typename T>
	inline SingletonHolder<T>::~SingletonHolder()
	{
		
	};

	template <typename T>
	inline scoped_ptr<T>& SingletonHolder<T>::ptr()
	{
		assert(data.get() != NULL);
		return data;
	};
};
