U3D
Open-source, cross-platform 2D and 3D game engine built in C++
|
Base class for intrusively reference-counted objects. These are noncopyable and non-assignable. More...
#include </var/dev/u3d/stable/Source/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. | |
void | AddRef () |
void | ReleaseRef () |
int | Refs () const |
int | WeakRefs () const |
RefCount * | RefCountPtr () |
Return pointer to the reference count structure. | |
Private Attributes | |
RefCount * | refCount_ |
Pointer to the reference count structure. | |
Base class for intrusively reference-counted objects. These are noncopyable and non-assignable.
void Urho3D::RefCounted::AddRef | ( | ) |
Increment reference count. Can also be called outside of a SharedPtr for traditional reference counting.
int Urho3D::RefCounted::Refs | ( | ) | const |
Return reference count.
void 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.
int Urho3D::RefCounted::WeakRefs | ( | ) | const |
Return weak reference count.