#pragma once namespace RE { template class BSTSingletonImplicit { public: using value_type = T; }; template class BSTSingletonExplicit { public: using value_type = T; }; template class BSTSingletonSDMOpStaticBuffer { public: using value_type = T; }; template class BSTSingletonSDMBase : public Traits, public BSTSingletonSDMOpStaticBuffer { public: }; template class BSTSDMTraits { public: using value_type = T; }; #ifdef __EDG__ template class Buffer = BSTSingletonSDMOpStaticBuffer> class BSTSingletonSDM { public: std::uint8_t padding; }; #else template class Buffer = BSTSingletonSDMOpStaticBuffer> class BSTSingletonSDM : public BSTSingletonSDMBase>> { public: using value_type = T; }; #endif }