Solution refactoring and restructuring, removed Boost dependency, removed unused tools

This commit is contained in:
2022-11-21 23:42:01 +02:00
parent 33f19f9ff6
commit 9ef9f39e88
817 changed files with 326 additions and 59698 deletions

View File

@ -0,0 +1,29 @@
#pragma once
template <typename T>
class TAbstractSingleton
{
static T * ms_singleton;
public:
TAbstractSingleton()
{
assert(!ms_singleton);
int offset = (int) (T*) 1 - (int) (CSingleton <T>*) (T*) 1;
ms_singleton = (T*) ((int) this + offset);
}
virtual ~TAbstractSingleton()
{
assert(ms_singleton);
ms_singleton = 0;
}
__forceinline static T & GetSingleton()
{
assert(ms_singleton!=NULL);
return (*ms_singleton);
}
};
template <typename T> T * TAbstractSingleton <T>::ms_singleton = 0;