32template <
class ObjectType>
37 JUCE_BEGIN_IGNORE_WARNINGS_GCC_LIKE (
"-Wdeprecated-declarations")
38 JUCE_BEGIN_IGNORE_WARNINGS_MSVC (4996)
77 other.object =
nullptr;
82 reset (
other.release());
87 inline operator ObjectType*()
const noexcept {
return object; }
96 ContainerDeletePolicy<ObjectType>::destroy (
oldObject);
105 ContainerDeletePolicy<ObjectType>::destroy (
oldObject);
120 ObjectType* release() noexcept {
auto*
o = object;
object = {};
return o; }
127 jassert (
object !=
other.object ||
this ==
other.getAddress() ||
object ==
nullptr);
145 JUCE_END_IGNORE_WARNINGS_MSVC
146 JUCE_END_IGNORE_WARNINGS_GCC_LIKE
150JUCE_BEGIN_IGNORE_WARNINGS_GCC_LIKE (
"-Wdeprecated-declarations")
151JUCE_BEGIN_IGNORE_WARNINGS_MSVC (4996)
159template <
typename ObjectType1,
typename ObjectType2>
165template <
typename ObjectType1,
typename ObjectType2>
171template <
typename ObjectType1,
typename ObjectType2>
177template <
typename ObjectType1,
typename ObjectType2>
183template <
typename ObjectType1,
typename ObjectType2>
189template <
class ObjectType>
192 return pointer.get() ==
nullptr;
195template <
class ObjectType>
198 return pointer.get() !=
nullptr;
201template <
class ObjectType>
204 return pointer.get() ==
nullptr;
207template <
class ObjectType>
210 return pointer.get() !=
nullptr;
215template <
typename Type>
217 "Attempt to call deleteAndZero() on a ScopedPointer"); }
219JUCE_END_IGNORE_WARNINGS_GCC_LIKE
220JUCE_END_IGNORE_WARNINGS_MSVC
auto & get(ProcessorChain< Processors... > &chain) noexcept
Non-member equivalent of ProcessorChain::get which avoids awkward member template syntax.
Type * createCopyIfNotNull(const Type *objectToCopy)
If a pointer is non-null, this returns a new copy of the object that it points to,...
const DirectoryEntry & operator*(const DirectoryEntry &e) noexcept
A convenience operator so that the expression *it++ works correctly when it is an instance of RangedD...
void deleteAndZero(Type &pointer)
Delete an object pointer, and sets the pointer to null.
Type unalignedPointerCast(void *ptr) noexcept
Casts a pointer to another type via void*, which suppresses the cast-align warning which sometimes ar...