26 using UnregisterThunk = bool (*)(
void*,
void*, size_t,
Registration*);
41 explicit operator bool()
const {
42 return m_pSlot !=
nullptr;
51 void adopt(
void* owner,
void* slot,
size_t generation, UnregisterThunk unregister) {
54 m_Generation = generation;
55 m_Unregister = unregister;
58 void releaseFromOwner(
void* owner,
void* slot,
size_t generation) {
59 if (m_pOwner == owner && m_pSlot == slot && m_Generation == generation) {
63 m_Unregister =
nullptr;
70 UnregisterThunk m_Unregister;