Skia
2D Graphics Library
|
SkRefCntBase is the base class for objects that may be shared by multiple objects. More...
#include <SkRefCnt.h>
Public Member Functions | |
SkRefCntBase () | |
Default construct, initializing the reference count to 1. More... | |
virtual | ~SkRefCntBase () |
Destruct, asserting that the reference count is 1. More... | |
bool | unique () const |
May return true if the caller is the only owner. More... | |
void | ref () const |
Increment the reference count. More... | |
void | unref () const |
Decrement the reference count. More... | |
Friends | |
class | SkWeakRefCnt |
SkRefCntBase is the base class for objects that may be shared by multiple objects.
When an existing owner wants to share a reference, it calls ref(). When an owner wants to release its reference, it calls unref(). When the shared object's reference count goes to zero as the result of an unref() call, its (virtual) destructor is called. It is an error for the destructor to be called explicitly (or via the object going out of scope on the stack or calling delete) if getRefCnt() > 1.
|
inline |
Default construct, initializing the reference count to 1.
|
inlinevirtual |
Destruct, asserting that the reference count is 1.
|
inline |
Increment the reference count.
Must be balanced by a call to unref().
|
inline |
May return true if the caller is the only owner.
Ensures that all previous owner's actions are complete.
|
inline |
Decrement the reference count.
If the reference count is 1 before the decrement, then delete the object. Note that if this is the case, then the object needs to have been allocated via new, and not on the stack.
|
friend |