Rebel Fork Framework
Urho3D::RefCounted Class Reference

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

#include <Urho3D/Container/RefCounted.h>

Inheritance diagram for Urho3D::RefCounted:
Urho3D::Actions::ActionCallHandler Urho3D::Actions::ActionState Urho3D::AnimationState Urho3D::AttributeAccessor Urho3D::BackgroundLoader Urho3D::ClientSynchronizationState Urho3D::CollisionGeometryData Urho3D::Context Urho3D::Detail::RmlSystem Urho3D::DragDropPayload Urho3D::EventReceiverGroup Urho3D::FontFace Urho3D::HttpRequest Urho3D::Object Urho3D::ObjectReflection Urho3D::Pass Urho3D::PropertySet2D Urho3D::RaytracerScene Urho3D::RenderSurface Urho3D::SharedReplicationState 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.
 
RefCountedoperator= (const RefCounted &rhs)=delete
 Prevent assignment.
 
int AddRef ()
 
int ReleaseRef ()
 
int Refs () const
 
int WeakRefs () const
 
RefCountRefCountPtr () 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

RefCountrefCount_ {}
 Pointer to the reference count structure.
 

Detailed Description

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

Member Function Documentation

◆ AddRef()

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.

◆ Refs()

int Urho3D::RefCounted::Refs ( ) const

Return reference count.

◆ ReleaseRef()

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.

◆ WeakRefs()

int Urho3D::RefCounted::WeakRefs ( ) const

Return weak reference count.


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