#pragma once #include #include #include namespace frostbite2D { class RefObject : protected Noncopyable { public: void Retain(); void Release(); uint32_t GetRefCount() const; virtual ~RefObject(); protected: RefObject(); private: std::atomic ref_count_; }; }