template <bool EnableAdoptionValidator>
class RefCountedUpgradeableBase
Defined at line 23 of file ../../zircon/system/ulib/fbl/include/fbl/ref_counted_upgradeable.h
A variant of the standard RefCouted base class which allows an
"UpgradeFromRaw" operation which can be used to give weak-pointer like
behavior for very specific use cases.
Public Methods
void RefCountedUpgradeableBase<EnableAdoptionValidator> ()
Defined at line 25 of file ../../zircon/system/ulib/fbl/include/fbl/ref_counted_upgradeable.h
void ~RefCountedUpgradeableBase<EnableAdoptionValidator> ()
Defined at line 26 of file ../../zircon/system/ulib/fbl/include/fbl/ref_counted_upgradeable.h
void RefCountedUpgradeableBase<EnableAdoptionValidator> (const RefCountedUpgradeableBase<EnableAdoptionValidator> & )
RefCountedUpgradeableBase
<
> instances may not be copied, assigned or moved.
Defined at line 29 of file ../../zircon/system/ulib/fbl/include/fbl/ref_counted_upgradeable.h
void RefCountedUpgradeableBase<EnableAdoptionValidator> (RefCountedUpgradeableBase<EnableAdoptionValidator> && )
RefCountedUpgradeableBase
<
> instances may not be copied, assigned or moved.
Defined at line 29 of file ../../zircon/system/ulib/fbl/include/fbl/ref_counted_upgradeable.h
RefCountedUpgradeableBase<EnableAdoptionValidator> & operator= (const RefCountedUpgradeableBase<EnableAdoptionValidator> & )
RefCountedUpgradeableBase
<
> instances may not be copied, assigned or moved.
Defined at line 29 of file ../../zircon/system/ulib/fbl/include/fbl/ref_counted_upgradeable.h
RefCountedUpgradeableBase<EnableAdoptionValidator> & operator= (RefCountedUpgradeableBase<EnableAdoptionValidator> && )
RefCountedUpgradeableBase
<
> instances may not be copied, assigned or moved.
Defined at line 29 of file ../../zircon/system/ulib/fbl/include/fbl/ref_counted_upgradeable.h
bool AddRefMaybeInDestructor ()
This method must only be called from MakeRefPtrUpgradeFromRaw. See its
comments for details in the proper use of this method. The actual job of
this function is to atomically increment the refcount if the refcount is
greater than zero.
This method returns false if the object was found with an invalid
refcount (refcount was
<
= 0), and true if the refcount was not zero and
it was incremented.
The procedure used is the while-CAS loop with the advantage that
compare_exchange on failure updates |old| on failure (to exchange) so the
loop does not have to do a separate load.
Defined at line 44 of file ../../zircon/system/ulib/fbl/include/fbl/ref_counted_upgradeable.h