245template <
class ObjectType>
274 refCountedObject.incReferenceCount();
290 other.referencedObject =
nullptr;
296 template <
typename Convertible>
316 template <
typename Convertible>
319 return operator= (other.
get());
329 if (newObject !=
nullptr)
330 return operator= (*newObject);
409 bool operator== (
const ObjectType* other)
const noexcept {
return referencedObject == other; }
413 bool operator!= (
const ObjectType* other)
const noexcept {
return referencedObject != other; }
417 #if JUCE_STRICT_REFCOUNTEDPOINTER
419 explicit operator bool()
const noexcept {
return referencedObject !=
nullptr; }
432 [[deprecated (
"Use the get method instead.")]]
443 o->incReferenceCount();
448 if (o !=
nullptr && o->decReferenceCountWithoutDeleting())
456template <
typename Type>
459 return object1 == object2.get();
463template <
typename Type>
466 return object1 != object2.get();
#define noexcept
Definition DistrhoDefines.h:72
Definition juce_ReferenceCountedObject.h:66
ReferenceCountedObject(const ReferenceCountedObject &) noexcept
Definition juce_ReferenceCountedObject.h:110
Atomic< int > refCount
Definition juce_ReferenceCountedObject.h:135
ReferenceCountedObject(ReferenceCountedObject &&) noexcept
Definition juce_ReferenceCountedObject.h:112
void resetReferenceCount() noexcept
Definition juce_ReferenceCountedObject.h:128
bool decReferenceCountWithoutDeleting() noexcept
Definition juce_ReferenceCountedObject.h:94
ReferenceCountedObject()=default
void incReferenceCount() noexcept
Definition juce_ReferenceCountedObject.h:74
int getReferenceCount() const noexcept
Definition juce_ReferenceCountedObject.h:101
void decReferenceCount() noexcept
Definition juce_ReferenceCountedObject.h:82
virtual ~ReferenceCountedObject()
Definition juce_ReferenceCountedObject.h:119
Definition juce_ReferenceCountedObject.h:247
~ReferenceCountedObjectPtr()
Definition juce_ReferenceCountedObject.h:372
SynthesiserSound ReferencedType
Definition juce_ReferenceCountedObject.h:250
static void incIfNotNull(ReferencedType *o) noexcept
Definition juce_ReferenceCountedObject.h:440
ReferenceCountedObjectPtr(ReferenceCountedObjectPtr &&other) noexcept
Definition juce_ReferenceCountedObject.h:287
ReferenceCountedObjectPtr(ReferencedType *refCountedObject) noexcept
Definition juce_ReferenceCountedObject.h:262
static void decIfNotNull(ReferencedType *o) noexcept
Definition juce_ReferenceCountedObject.h:446
ReferenceCountedObjectPtr(ReferencedType &refCountedObject) noexcept
Definition juce_ReferenceCountedObject.h:271
ReferenceCountedObjectPtr()=default
ReferenceCountedObjectPtr(const ReferenceCountedObjectPtr< Convertible > &other) noexcept
Definition juce_ReferenceCountedObject.h:297
ReferencedType * referencedObject
Definition juce_ReferenceCountedObject.h:438
void reset() noexcept
Definition juce_ReferenceCountedObject.h:384
ReferenceCountedObjectPtr(decltype(nullptr)) noexcept
Definition juce_ReferenceCountedObject.h:257
ReferencedType & operator*() const noexcept
Definition juce_ReferenceCountedObject.h:401
ReferencedType * operator->() const noexcept
Definition juce_ReferenceCountedObject.h:392
ReferenceCountedObjectPtr(const ReferenceCountedObjectPtr &other) noexcept
Definition juce_ReferenceCountedObject.h:280
ReferencedType * get() const noexcept
Definition juce_ReferenceCountedObject.h:381
ReferencedType * getObject() const
Definition juce_ReferenceCountedObject.h:433
int refCount
Definition juce_ReferenceCountedObject.h:215
virtual ~SingleThreadedReferenceCountedObject()
Definition juce_ReferenceCountedObject.h:207
SingleThreadedReferenceCountedObject(SingleThreadedReferenceCountedObject &&)
Definition juce_ReferenceCountedObject.h:200
SingleThreadedReferenceCountedObject(const SingleThreadedReferenceCountedObject &)
Definition juce_ReferenceCountedObject.h:198
SingleThreadedReferenceCountedObject()=default
void decReferenceCount() noexcept
Definition juce_ReferenceCountedObject.h:170
void incReferenceCount() noexcept
Definition juce_ReferenceCountedObject.h:162
int getReferenceCount() const noexcept
Definition juce_ReferenceCountedObject.h:189
bool decReferenceCountWithoutDeleting() noexcept
Definition juce_ReferenceCountedObject.h:182
#define JUCE_API
Definition juce_StandardHeader.h:152
Definition carla_juce.cpp:31
Definition juce_Atomic.h:42
Definition juce_ContainerDeletePolicy.h:41
static void destroy(ObjectType *object)
Definition juce_ContainerDeletePolicy.h:42
#define const
Definition zconf.h:137