proxygen
|
#include <DelayedDestructionBase.h>
Public Member Functions | |
DestructorGuard (DelayedDestructionBase *dd) | |
DestructorGuard (const DestructorGuard &dg) | |
DestructorGuard (DestructorGuard &&dg) noexcept | |
DestructorGuard & | operator= (DestructorGuard dg) noexcept |
DestructorGuard & | operator= (DelayedDestructionBase *dd) |
~DestructorGuard () | |
DelayedDestructionBase * | get () const |
operator bool () const | |
Private Attributes | |
DelayedDestructionBase * | dd_ |
Classes should create a DestructorGuard object on the stack in any function that may invoke callback functions.
The DestructorGuard prevents the guarded class from being destroyed while it exists. Without this, the callback function could delete the guarded object, causing problems when the callback function returns and the guarded object's method resumes execution.
Definition at line 62 of file DelayedDestructionBase.h.
|
inlineexplicit |
Definition at line 64 of file DelayedDestructionBase.h.
References dd_, and folly::DelayedDestructionBase::guardCount_.
Referenced by operator=().
|
inline |
Definition at line 71 of file DelayedDestructionBase.h.
|
inlinenoexcept |
Definition at line 73 of file DelayedDestructionBase.h.
|
inline |
Definition at line 86 of file DelayedDestructionBase.h.
References dd_, folly::DelayedDestructionBase::guardCount_, and folly::DelayedDestructionBase::onDelayedDestroy().
|
inline |
Definition at line 96 of file DelayedDestructionBase.h.
References dd_.
Referenced by folly::DelayedDestructionBase::IntrusivePtr< AliasType >::get(), folly::operator!=(), and folly::operator==().
|
inlineexplicit |
Definition at line 100 of file DelayedDestructionBase.h.
References dd_.
|
inlinenoexcept |
Definition at line 76 of file DelayedDestructionBase.h.
References dd_, and folly::f14::swap().
Referenced by folly::DelayedDestructionBase::IntrusivePtr< AliasType >::IntrusivePtr(), and folly::DelayedDestructionBase::IntrusivePtr< AliasType >::operator=().
|
inline |
Definition at line 81 of file DelayedDestructionBase.h.
References DestructorGuard().
|
private |
Definition at line 105 of file DelayedDestructionBase.h.
Referenced by DestructorGuard(), get(), operator bool(), operator=(), and ~DestructorGuard().