69 friend class AutoReleasePool;
81 _pool->onAttachReleasable(*
this);
84 AutoReleasable(AutoReleasable&& other) noexcept
91 virtual ~AutoReleasable()
96 AutoReleasable& operator=(AutoReleasable&& other)
noexcept
113 virtual void onRelease() = 0;
120 _pool->onDetachReleasable(*
this);
125 void movePool(AutoReleasable& other)
130 otherPool->onDetachReleasable(other);
134 _pool->onAttachReleasable(*
this);
138 AutoReleasable(
const AutoReleasable& other) =
delete;
140 AutoReleasable& operator=(
const AutoReleasable& other) =
delete;
144 AutoReleasable* _next;