58 template<
typename Func>
60 m_deleter = [f = std::forward<Func>(func)](T* ptr) { f(ptr); };
82 template<
typename T,
typename U = T>
91#define FCT_SAFE_RELEASE(obj) if (obj) obj->release(); obj = nullptr;
92#define FCT_SAFE_ADDREF(p) if (p) { p->addRef(); }
std::function< void(T *)> DeleterType
void setDeleter(DeleterType deleter)
bool applyDeleter(T *ptr)
void setDeleterFunc(Func &&func)
virtual void deleteThis()
std::atomic< size_t > m_refCount
RefCount(size_t refCount)
void safeRelease(RefCount *&obj)
void safeAddRef(RefCount *obj)