From 943a8ef75751c1ee555405a13cc561f352cf5203 Mon Sep 17 00:00:00 2001 From: jules Date: Sat, 2 Jun 2012 08:30:08 +0100 Subject: [PATCH] Added a get() method to ReferenceCountedObjectPtr. --- .../Builds/VisualStudio2005/resources.rc | 6 +++++ .../Builds/VisualStudio2008/resources.rc | 6 +++++ .../sampler/juce_Sampler.cpp | 2 +- modules/juce_core/maths/juce_Expression.cpp | 6 ++--- .../memory/juce_ReferenceCountedObject.h | 24 ++++++++++++------- .../values/juce_ValueTree.cpp | 2 +- .../native/juce_mac_NSViewComponent.mm | 4 ++-- 7 files changed, 35 insertions(+), 15 deletions(-) diff --git a/extras/audio plugin demo/Builds/VisualStudio2005/resources.rc b/extras/audio plugin demo/Builds/VisualStudio2005/resources.rc index 281e9b7b7e..f95bffb4d8 100644 --- a/extras/audio plugin demo/Builds/VisualStudio2005/resources.rc +++ b/extras/audio plugin demo/Builds/VisualStudio2005/resources.rc @@ -1,3 +1,7 @@ +#ifdef JUCE_USER_DEFINED_RC_FILE + #include JUCE_USER_DEFINED_RC_FILE +#else + #undef WIN32_LEAN_AND_MEAN #define WIN32_LEAN_AND_MEAN #include @@ -22,3 +26,5 @@ BEGIN VALUE "Translation", 0x409, 65001 END END + +#endif diff --git a/extras/audio plugin demo/Builds/VisualStudio2008/resources.rc b/extras/audio plugin demo/Builds/VisualStudio2008/resources.rc index 281e9b7b7e..f95bffb4d8 100644 --- a/extras/audio plugin demo/Builds/VisualStudio2008/resources.rc +++ b/extras/audio plugin demo/Builds/VisualStudio2008/resources.rc @@ -1,3 +1,7 @@ +#ifdef JUCE_USER_DEFINED_RC_FILE + #include JUCE_USER_DEFINED_RC_FILE +#else + #undef WIN32_LEAN_AND_MEAN #define WIN32_LEAN_AND_MEAN #include @@ -22,3 +26,5 @@ BEGIN VALUE "Translation", 0x409, 65001 END END + +#endif diff --git a/modules/juce_audio_formats/sampler/juce_Sampler.cpp b/modules/juce_audio_formats/sampler/juce_Sampler.cpp index eb4a23b7c6..73a5d9fdea 100644 --- a/modules/juce_audio_formats/sampler/juce_Sampler.cpp +++ b/modules/juce_audio_formats/sampler/juce_Sampler.cpp @@ -162,7 +162,7 @@ void SamplerVoice::controllerMoved (const int /*controllerNumber*/, //============================================================================== void SamplerVoice::renderNextBlock (AudioSampleBuffer& outputBuffer, int startSample, int numSamples) { - const SamplerSound* const playingSound = static_cast (getCurrentlyPlayingSound().getObject()); + const SamplerSound* const playingSound = static_cast (getCurrentlyPlayingSound().get()); if (playingSound != nullptr) { diff --git a/modules/juce_core/maths/juce_Expression.cpp b/modules/juce_core/maths/juce_Expression.cpp index 67bb6fb751..aaff3c7a54 100644 --- a/modules/juce_core/maths/juce_Expression.cpp +++ b/modules/juce_core/maths/juce_Expression.cpp @@ -146,7 +146,7 @@ struct Expression::Helpers Type getType() const noexcept { return operatorType; } int getNumInputs() const { return 2; } - Term* getInput (int index) const { return index == 0 ? left.getObject() : (index == 1 ? right.getObject() : 0); } + Term* getInput (int index) const { return index == 0 ? left.get() : (index == 1 ? right.get() : 0); } virtual double performFunction (double left, double right) const = 0; virtual void writeOperator (String& dest) const = 0; @@ -397,7 +397,7 @@ struct Expression::Helpers JUCE_DECLARE_NON_COPYABLE (SymbolRenamingVisitor); }; - SymbolTerm* getSymbol() const { return static_cast (left.getObject()); } + SymbolTerm* getSymbol() const { return static_cast (left.get()); } JUCE_DECLARE_NON_COPYABLE (DotOperator); }; @@ -414,7 +414,7 @@ struct Expression::Helpers Type getType() const noexcept { return operatorType; } int getInputIndexFor (const Term* possibleInput) const { return possibleInput == input ? 0 : -1; } int getNumInputs() const { return 1; } - Term* getInput (int index) const { return index == 0 ? input.getObject() : nullptr; } + Term* getInput (int index) const { return index == 0 ? input.get() : nullptr; } Term* clone() const { return new Negate (input->clone()); } TermPtr resolve (const Scope& scope, int recursionDepth) diff --git a/modules/juce_core/memory/juce_ReferenceCountedObject.h b/modules/juce_core/memory/juce_ReferenceCountedObject.h index b038570ccc..12e2f3afc7 100644 --- a/modules/juce_core/memory/juce_ReferenceCountedObject.h +++ b/modules/juce_core/memory/juce_ReferenceCountedObject.h @@ -242,7 +242,7 @@ public: */ template inline ReferenceCountedObjectPtr (const ReferenceCountedObjectPtr& other) noexcept - : referencedObject (static_cast (other.getObject())) + : referencedObject (static_cast (other.get())) { if (referencedObject != nullptr) referencedObject->incReferenceCount(); @@ -266,7 +266,7 @@ public: template ReferenceCountedObjectPtr& operator= (const ReferenceCountedObjectPtr& other) { - return operator= (static_cast (other.getObject())); + return operator= (static_cast (other.get())); } #if JUCE_COMPILER_SUPPORTS_MOVE_SEMANTICS @@ -325,6 +325,14 @@ public: return referencedObject; } + /** Returns the object that this pointer references. + The pointer returned may be zero, of course. + */ + inline ReferenceCountedObjectClass* get() const noexcept + { + return referencedObject; + } + /** Returns the object that this pointer references. The pointer returned may be zero, of course. */ @@ -343,42 +351,42 @@ private: template bool operator== (const ReferenceCountedObjectPtr& object1, ReferenceCountedObjectClass* const object2) noexcept { - return object1.getObject() == object2; + return object1.get() == object2; } /** Compares two ReferenceCountedObjectPointers. */ template bool operator== (const ReferenceCountedObjectPtr& object1, const ReferenceCountedObjectPtr& object2) noexcept { - return object1.getObject() == object2.getObject(); + return object1.get() == object2.get(); } /** Compares two ReferenceCountedObjectPointers. */ template bool operator== (ReferenceCountedObjectClass* object1, ReferenceCountedObjectPtr& object2) noexcept { - return object1 == object2.getObject(); + return object1 == object2.get(); } /** Compares two ReferenceCountedObjectPointers. */ template bool operator!= (const ReferenceCountedObjectPtr& object1, const ReferenceCountedObjectClass* object2) noexcept { - return object1.getObject() != object2; + return object1.get() != object2; } /** Compares two ReferenceCountedObjectPointers. */ template bool operator!= (const ReferenceCountedObjectPtr& object1, ReferenceCountedObjectPtr& object2) noexcept { - return object1.getObject() != object2.getObject(); + return object1.get() != object2.get(); } /** Compares two ReferenceCountedObjectPointers. */ template bool operator!= (ReferenceCountedObjectClass* object1, ReferenceCountedObjectPtr& object2) noexcept { - return object1 != object2.getObject(); + return object1 != object2.get(); } diff --git a/modules/juce_data_structures/values/juce_ValueTree.cpp b/modules/juce_data_structures/values/juce_ValueTree.cpp index 3afff8af6a..b41596c378 100644 --- a/modules/juce_data_structures/values/juce_ValueTree.cpp +++ b/modules/juce_data_structures/values/juce_ValueTree.cpp @@ -704,7 +704,7 @@ bool ValueTree::isEquivalentTo (const ValueTree& other) const ValueTree ValueTree::createCopy() const { - return ValueTree (createCopyIfNotNull (object.getObject())); + return ValueTree (createCopyIfNotNull (object.get())); } bool ValueTree::hasType (const Identifier& typeName) const diff --git a/modules/juce_gui_extra/native/juce_mac_NSViewComponent.mm b/modules/juce_gui_extra/native/juce_mac_NSViewComponent.mm index 849dafcab9..8306617321 100644 --- a/modules/juce_gui_extra/native/juce_mac_NSViewComponent.mm +++ b/modules/juce_gui_extra/native/juce_mac_NSViewComponent.mm @@ -129,7 +129,7 @@ void NSViewComponent::setView (void* const view) void* NSViewComponent::getView() const { - return attachment != nullptr ? static_cast (attachment.getObject())->view + return attachment != nullptr ? static_cast (attachment.get())->view : nullptr; } @@ -137,7 +137,7 @@ void NSViewComponent::resizeToFitView() { if (attachment != nullptr) { - NSRect r = [static_cast (attachment.getObject())->view frame]; + NSRect r = [static_cast (attachment.get())->view frame]; setBounds (Rectangle ((int) r.size.width, (int) r.size.height)); } }