Urho3D
Public Member Functions | Private Attributes | List of all members
Urho3D::RefCounted Class Reference

Base class for intrusively reference-counted objects. These are noncopyable and non-assignable. More...

#include </home/runner/work/urho3d-doxygen.github.io/urho3d-doxygen.github.io/urho3d_repo/Source/Urho3D/Container/RefCounted.h>

Inheritance diagram for Urho3D::RefCounted:
Urho3D::AnimationState Urho3D::AttributeAccessor Urho3D::BackgroundLoader Urho3D::CollisionGeometryData Urho3D::Context Urho3D::EventReceiverGroup Urho3D::FontFace Urho3D::HttpRequest Urho3D::Object Urho3D::ObjectFactory Urho3D::Pass Urho3D::PropertySet2D Urho3D::RenderPath Urho3D::RenderSurface Urho3D::ShaderProgram_OGL Urho3D::ShaderVariation Urho3D::SoundStream Urho3D::Tile2D Urho3D::TileMapObject2D Urho3D::TmxLayer2D Urho3D::ValueAnimationInfo Urho3D::WorkItem

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 ()
 Increment reference count. Can also be called outside of a SharedPtr for traditional reference counting.
 
void ReleaseRef ()
 Decrement reference count and delete self if no more references. Can also be called outside of a SharedPtr for traditional reference counting.
 
int Refs () const
 Return reference count.
 
int WeakRefs () const
 Return weak reference count.
 
RefCount * RefCountPtr ()
 Return pointer to the reference count structure.
 

Private Attributes

RefCount * refCount_
 Pointer to the reference count structure.
 

Detailed Description

Base class for intrusively reference-counted objects. These are noncopyable and non-assignable.


The documentation for this class was generated from the following files: