/
githubmirror
/
nbs
Обзор
Документация
Войти
/
githubmirror
/
nbs
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
library/cpp/yt/memory/leaky_singleton.h
35 строк
782 B
robot-piglet
Intermediate changes
11 май 2023, 16:34
11 май 2023, 16:34
d8b29b9
Код
Авторство
О чём код?
#pragma once namespace NYT { //////////////////////////////////////////////////////////////////////////////// template <class T> class TLeakyStorage { public: template <class... TArgs> explicit TLeakyStorage(TArgs&&... args); T* Get(); private: alignas(T) char Buffer_[sizeof(T)]; }; //////////////////////////////////////////////////////////////////////////////// #define DECLARE_LEAKY_SINGLETON_FRIEND() \ template <class T> \ friend class ::NYT::TLeakyStorage; template <class T, class... TArgs> T* LeakySingleton(TArgs&&... args); //////////////////////////////////////////////////////////////////////////////// } // namespace NYT #define LEAKY_SINGLETON_INL_H_ #include "leaky_singleton-inl.h" #undef LEAKY_SINGLETON_INL_H_