OpenShot Library | OpenShotAudio 0.2.2
|
A base class which provides methods for reference-counting. More...
#include <juce_ReferenceCountedObject.h>
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 | |
ReferenceCountedObject ()=default | |
Creates the reference-counted object (with an initial ref count of zero). | |
ReferenceCountedObject (const ReferenceCountedObject &) noexcept | |
Copying from another object does not affect this one's reference-count. More... | |
ReferenceCountedObject (ReferenceCountedObject &&) noexcept | |
Copying from another object does not affect this one's reference-count. More... | |
ReferenceCountedObject & | operator= (const ReferenceCountedObject &) noexcept |
Copying from another object does not affect this one's reference-count. More... | |
ReferenceCountedObject & | operator= (ReferenceCountedObject &&) noexcept |
Copying from another object does not affect this one's reference-count. More... | |
virtual | ~ReferenceCountedObject () |
Destructor. More... | |
void | resetReferenceCount () noexcept |
Resets the reference count to zero without deleting the object. More... | |
Friends | |
struct | ContainerDeletePolicy< ReferenceCountedObject > |
A base class which provides methods for reference-counting.
To add reference-counting to a class, derive it from this class, and use the ReferenceCountedObjectPtr class to point to it.
e.g.
Once a new ReferenceCountedObject has been assigned to a pointer, be careful not to delete the object manually.
This class uses an Atomic<int> value to hold the reference count, so the reference count can be updated on multiple threads. Note that whilst it's thread-safe to create and delete a ReferenceCountedObjectPtr to a ReferenceCountedObject shared between threads, it's not thread-safe to modify or swap the ReferenceCountedObject.
For a faster but non-thread-safe version, use SingleThreadedReferenceCountedObject instead.
Definition at line 69 of file juce_ReferenceCountedObject.h.
|
inlineprotectednoexcept |
Copying from another object does not affect this one's reference-count.
Definition at line 114 of file juce_ReferenceCountedObject.h.
|
inlineprotectednoexcept |
Copying from another object does not affect this one's reference-count.
Definition at line 116 of file juce_ReferenceCountedObject.h.
|
inlineprotectedvirtual |
Destructor.
Definition at line 123 of file juce_ReferenceCountedObject.h.
|
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 78 of file juce_ReferenceCountedObject.h.
|
inlinenoexcept |
Decreases the object's reference count.
If the count gets to zero, the object will be deleted.
Definition at line 86 of file juce_ReferenceCountedObject.h.
|
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 98 of file juce_ReferenceCountedObject.h.
|
inlinenoexcept |
Returns the object's current reference count.
Definition at line 105 of file juce_ReferenceCountedObject.h.
|
inlineprotectednoexcept |
Copying from another object does not affect this one's reference-count.
Definition at line 118 of file juce_ReferenceCountedObject.h.
|
inlineprotectednoexcept |
Copying from another object does not affect this one's reference-count.
Definition at line 120 of file juce_ReferenceCountedObject.h.
|
inlineprotectednoexcept |
Resets the reference count to zero without deleting the object.
You should probably never need to use this!
Definition at line 132 of file juce_ReferenceCountedObject.h.
|
friend |
Definition at line 139 of file juce_ReferenceCountedObject.h.