#include <dual_ref_counted.h>
Public Member Functions | |
DualRefCounted (const DualRefCounted &)=delete | |
DualRefCounted & | operator= (const DualRefCounted &)=delete |
RefCountedPtr< Child > | Ref () GRPC_MUST_USE_RESULT |
RefCountedPtr< Child > | Ref (const DebugLocation &location, const char *reason) GRPC_MUST_USE_RESULT |
RefCountedPtr< Child > | RefIfNonZero () GRPC_MUST_USE_RESULT |
RefCountedPtr< Child > | RefIfNonZero (const DebugLocation &location, const char *reason) GRPC_MUST_USE_RESULT |
void | Unref () |
void | Unref (const DebugLocation &location, const char *reason) |
WeakRefCountedPtr< Child > | WeakRef () GRPC_MUST_USE_RESULT |
WeakRefCountedPtr< Child > | WeakRef (const DebugLocation &location, const char *reason) GRPC_MUST_USE_RESULT |
void | WeakUnref () |
void | WeakUnref (const DebugLocation &location, const char *reason) |
~DualRefCounted () override=default | |
![]() | |
Orphanable & | operator= (const Orphanable &)=delete |
virtual void | Orphan ()=0 |
Orphanable (const Orphanable &)=delete | |
Protected Member Functions | |
DualRefCounted (const char *trace=nullptr, int32_t initial_refcount=1) | |
![]() | |
Orphanable () | |
virtual | ~Orphanable () |
Private Member Functions | |
void | IncrementRefCount () |
void | IncrementRefCount (const DebugLocation &location, const char *reason) |
void | IncrementWeakRefCount () |
void | IncrementWeakRefCount (const DebugLocation &location, const char *reason) |
Static Private Member Functions | |
static uint32_t | GetStrongRefs (uint64_t ref_pair) |
static uint32_t | GetWeakRefs (uint64_t ref_pair) |
static uint64_t | MakeRefPair (uint32_t strong, uint32_t weak) |
Private Attributes | |
std::atomic< uint64_t > | refs_ {0} |
const char * | trace_ |
Friends | |
template<typename T > | |
class | RefCountedPtr |
template<typename T > | |
class | WeakRefCountedPtr |
Definition at line 48 of file dual_ref_counted.h.
|
overridedefault |
|
delete |
|
inlineexplicitprotected |
Definition at line 216 of file dual_ref_counted.h.
|
inlinestaticprivate |
Definition at line 243 of file dual_ref_counted.h.
|
inlinestaticprivate |
Definition at line 246 of file dual_ref_counted.h.
|
inlineprivate |
Definition at line 250 of file dual_ref_counted.h.
|
inlineprivate |
Definition at line 265 of file dual_ref_counted.h.
|
inlineprivate |
Definition at line 285 of file dual_ref_counted.h.
|
inlineprivate |
Definition at line 299 of file dual_ref_counted.h.
|
inlinestaticprivate |
Definition at line 240 of file dual_ref_counted.h.
|
delete |
|
inline |
Definition at line 52 of file dual_ref_counted.h.
|
inline |
Definition at line 57 of file dual_ref_counted.h.
|
inline |
Definition at line 106 of file dual_ref_counted.h.
|
inline |
Definition at line 124 of file dual_ref_counted.h.
|
inline |
Definition at line 63 of file dual_ref_counted.h.
|
inline |
Definition at line 82 of file dual_ref_counted.h.
|
inline |
Definition at line 149 of file dual_ref_counted.h.
|
inline |
Definition at line 154 of file dual_ref_counted.h.
|
inline |
Definition at line 160 of file dual_ref_counted.h.
|
inline |
Definition at line 182 of file dual_ref_counted.h.
Definition at line 234 of file dual_ref_counted.h.
Definition at line 237 of file dual_ref_counted.h.
|
private |
Definition at line 322 of file dual_ref_counted.h.
|
private |
Definition at line 320 of file dual_ref_counted.h.