#pragma once #include #include #include class TAllocCounter : TNonCopyable { private: TAtomic* CountPtr; public: TAllocCounter(TAtomic* countPtr) : CountPtr(countPtr) { AtomicIncrement(*CountPtr); } ~TAllocCounter() { Y_ABORT_UNLESS(AtomicDecrement(*CountPtr) >= 0, "released too many"); } };