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

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

#include <Dry/Container/RefCounted.h>

Inheritance diagram for Dry::RefCounted:
Dry::AnimationState Dry::AttributeAccessor Dry::BackgroundLoader Dry::CollisionGeometryData Dry::Context Dry::EventReceiverGroup Dry::FontFace Dry::HttpRequest Dry::Object Dry::ObjectFactory Dry::Pass Dry::PropertySet2D Dry::RenderPath Dry::RenderSurface Dry::ShaderProgram Dry::ShaderVariation Dry::SoundStream Dry::Tile2D Dry::TileMapObject2D Dry::TmxLayer2D Dry::ValueAnimationInfo Dry::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.
 
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.
 
RefCountRefCountPtr ()
 Return pointer to the reference count structure.
 

Private Attributes

RefCountrefCount_
 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: