Rebel Fork Framework
|
Base class for intrusively reference-counted objects. These are noncopyable and non-assignable. More...
#include <Urho3D/Container/RefCounted.h>
Public Member Functions | |
RefCounted () | |
Construct. Allocate the reference count structure and set an initial self weak reference. | |
virtual | ~RefCounted () |
Destruct. Mark as expired and also delete the reference count structure if no outside weak references exist. | |
RefCounted (const RefCounted &rhs)=delete | |
Prevent copy construction. | |
RefCounted & | operator= (const RefCounted &rhs)=delete |
Prevent assignment. | |
int | AddRef () |
int | ReleaseRef () |
int | Refs () const |
int | WeakRefs () const |
RefCount * | RefCountPtr () const |
Return pointer to the reference count structure. | |
bool | HasScriptObject () const |
Return true if script runtime object wrapping this native object exists. | |
bool | IsScriptStrongRef () const |
Return true if script reference is strong. | |
Private Attributes | |
RefCount * | refCount_ {} |
Pointer to the reference count structure. | |
Base class for intrusively reference-counted objects. These are noncopyable and non-assignable.
int Urho3D::RefCounted::AddRef | ( | ) |
Increment reference count. Can also be called outside of a SharedPtr for traditional reference counting. Returns new reference count value. Operation is atomic.
int Urho3D::RefCounted::Refs | ( | ) | const |
Return reference count.
int Urho3D::RefCounted::ReleaseRef | ( | ) |
Decrement reference count and delete self if no more references. Can also be called outside of a SharedPtr for traditional reference counting. Returns new reference count value. Operation is atomic.
int Urho3D::RefCounted::WeakRefs | ( | ) | const |
Return weak reference count.