JUCE  v5.1.1-3-g1a0b28c73
JUCE API
SingleThreadedReferenceCountedObject Class Reference

Adds reference-counting to an object. More...

#include <juce_ReferenceCountedObject.h>

Inheritance diagram for SingleThreadedReferenceCountedObject:
Collaboration diagram for SingleThreadedReferenceCountedObject:

Public Member Functions

void decReferenceCount () noexcept
 Decreases the object's reference count. More...
 
bool decReferenceCountWithoutDeleting () noexcept
 Decreases the object's reference count. More...
 
int getReferenceCount () const noexcept
 Returns the object's current reference count. More...
 
void incReferenceCount () noexcept
 Increments the object's reference count. More...
 

Protected Member Functions

 SingleThreadedReferenceCountedObject ()
 Creates the reference-counted object (with an initial ref count of zero). More...
 
virtual ~SingleThreadedReferenceCountedObject ()
 Destructor. More...
 

Private Attributes

int refCount
 

Friends

struct ContainerDeletePolicy< ReferenceCountedObject >
 

Detailed Description

Adds reference-counting to an object.

This is effectively a version of the ReferenceCountedObject class, but which uses a non-atomic counter, and so is not thread-safe (but which will be more efficient). For more details on how to use it, see the ReferenceCountedObject class notes.

See also
ReferenceCountedObject, ReferenceCountedObjectPtr, ReferenceCountedArray

Constructor & Destructor Documentation

◆ SingleThreadedReferenceCountedObject()

SingleThreadedReferenceCountedObject::SingleThreadedReferenceCountedObject ( )
inlineprotected

Creates the reference-counted object (with an initial ref count of zero).

◆ ~SingleThreadedReferenceCountedObject()

virtual SingleThreadedReferenceCountedObject::~SingleThreadedReferenceCountedObject ( )
inlineprotectedvirtual

Destructor.

References jassert.

Member Function Documentation

◆ decReferenceCount()

void SingleThreadedReferenceCountedObject::decReferenceCount ( )
inlinenoexcept

Decreases the object's reference count.

If the count gets to zero, the object will be deleted.

References jassert.

◆ decReferenceCountWithoutDeleting()

bool SingleThreadedReferenceCountedObject::decReferenceCountWithoutDeleting ( )
inlinenoexcept

Decreases the object's reference count.

If the count gets to zero, the object will not be deleted, but this method will return true, allowing the caller to take care of deletion.

References jassert.

◆ getReferenceCount()

int SingleThreadedReferenceCountedObject::getReferenceCount ( ) const
inlinenoexcept

Returns the object's current reference count.

◆ incReferenceCount()

void SingleThreadedReferenceCountedObject::incReferenceCount ( )
inlinenoexcept

Increments the object's reference count.

This is done automatically by the smart pointer, but is public just in case it's needed for nefarious purposes.

Friends And Related Function Documentation

◆ ContainerDeletePolicy< ReferenceCountedObject >

Member Data Documentation

◆ refCount

int SingleThreadedReferenceCountedObject::refCount
private

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