OpenShot Library | OpenShotAudio 0.2.2
juce::SingleThreadedReferenceCountedObject Class Reference

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

#include <juce_ReferenceCountedObject.h>

+ Inheritance diagram for juce::SingleThreadedReferenceCountedObject:

Public Member Functions

void incReferenceCount () noexcept
 Increments the object's reference count. More...
 
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...
 

Protected Member Functions

 SingleThreadedReferenceCountedObject ()=default
 Creates the reference-counted object (with an initial ref count of zero).
 
 SingleThreadedReferenceCountedObject (const SingleThreadedReferenceCountedObject &)
 Copying from another object does not affect this one's reference-count. More...
 
 SingleThreadedReferenceCountedObject (SingleThreadedReferenceCountedObject &&)
 Copying from another object does not affect this one's reference-count. More...
 
SingleThreadedReferenceCountedObjectoperator= (const SingleThreadedReferenceCountedObject &)
 Copying from another object does not affect this one's reference-count. More...
 
SingleThreadedReferenceCountedObjectoperator= (SingleThreadedReferenceCountedObject &&)
 Copying from another object does not affect this one's reference-count. More...
 
virtual ~SingleThreadedReferenceCountedObject ()
 Destructor. More...
 

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

Definition at line 157 of file juce_ReferenceCountedObject.h.

Constructor & Destructor Documentation

◆ SingleThreadedReferenceCountedObject() [1/2]

juce::SingleThreadedReferenceCountedObject::SingleThreadedReferenceCountedObject ( const SingleThreadedReferenceCountedObject )
inlineprotected

Copying from another object does not affect this one's reference-count.

Definition at line 202 of file juce_ReferenceCountedObject.h.

◆ SingleThreadedReferenceCountedObject() [2/2]

juce::SingleThreadedReferenceCountedObject::SingleThreadedReferenceCountedObject ( SingleThreadedReferenceCountedObject &&  )
inlineprotected

Copying from another object does not affect this one's reference-count.

Definition at line 204 of file juce_ReferenceCountedObject.h.

◆ ~SingleThreadedReferenceCountedObject()

virtual juce::SingleThreadedReferenceCountedObject::~SingleThreadedReferenceCountedObject ( )
inlineprotectedvirtual

Destructor.

Definition at line 211 of file juce_ReferenceCountedObject.h.

Member Function Documentation

◆ incReferenceCount()

void juce::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.

Definition at line 166 of file juce_ReferenceCountedObject.h.

◆ decReferenceCount()

void juce::SingleThreadedReferenceCountedObject::decReferenceCount ( )
inlinenoexcept

Decreases the object's reference count.

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

Definition at line 174 of file juce_ReferenceCountedObject.h.

◆ decReferenceCountWithoutDeleting()

bool juce::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.

Definition at line 186 of file juce_ReferenceCountedObject.h.

◆ getReferenceCount()

int juce::SingleThreadedReferenceCountedObject::getReferenceCount ( ) const
inlinenoexcept

Returns the object's current reference count.

Definition at line 193 of file juce_ReferenceCountedObject.h.

◆ operator=() [1/2]

SingleThreadedReferenceCountedObject & juce::SingleThreadedReferenceCountedObject::operator= ( const SingleThreadedReferenceCountedObject )
inlineprotected

Copying from another object does not affect this one's reference-count.

Definition at line 206 of file juce_ReferenceCountedObject.h.

◆ operator=() [2/2]

SingleThreadedReferenceCountedObject & juce::SingleThreadedReferenceCountedObject::operator= ( SingleThreadedReferenceCountedObject &&  )
inlineprotected

Copying from another object does not affect this one's reference-count.

Definition at line 208 of file juce_ReferenceCountedObject.h.

Friends And Related Function Documentation

◆ ContainerDeletePolicy< ReferenceCountedObject >

Definition at line 219 of file juce_ReferenceCountedObject.h.


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