JUCE
Classes | Macros
juce_LeakedObjectDetector.h File Reference

Classes

class  LeakedObjectDetector< OwnerClass >
 Embedding an instance of this class inside another class can be used as a low-overhead way of detecting leaked instances. More...
 

Macros

#define JUCE_LEAK_DETECTOR(OwnerClass)
 This macro lets you embed a leak-detecting object inside a class. More...
 

Macro Definition Documentation

#define JUCE_LEAK_DETECTOR (   OwnerClass)
Value:
friend class juce::LeakedObjectDetector<OwnerClass>; \
static const char* getLeakedObjectClassName() noexcept { return #OwnerClass; } \
juce::LeakedObjectDetector<OwnerClass> JUCE_JOIN_MACRO (leakDetector, __LINE__);
#define JUCE_JOIN_MACRO(item1, item2)
A good old-fashioned C macro concatenation helper.
Definition: juce_PlatformDefs.h:167

This macro lets you embed a leak-detecting object inside a class.

To use it, simply declare a JUCE_LEAK_DETECTOR(YourClassName) inside a private section of the class declaration. E.g.

1 class MyClass
2 {
3 public:
4  MyClass();
5  void blahBlah();
6 
7 private:
8  JUCE_LEAK_DETECTOR (MyClass)
9 };
See also
JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR, LeakedObjectDetector

Referenced by SelectedItemSet< SelectableItemType >::changed(), RecentlyOpenedFilesList::getAllFilenames(), AttributedString::getAttribute(), MD5::getChecksumDataArray(), KeyPressMappingSet::getCommandManager(), PropertySet::getFallbackPropertySet(), GlyphArrangement::getNumGlyphs(), TextLayout::getNumLines(), Image::getPixelData(), DynamicObject::getProperties(), Uuid::getRawData(), Random::getSeed(), MemoryBlock::getSize(), EdgeTable::iterate(), SharedResourcePointer< SharedObjectType >::operator->(), AudioBuffer< float >::reverse(), PathStrokeType::setEndStyle(), StringPairArray::size(), CodeTokeniser::~CodeTokeniser(), InputSource::~InputSource(), and AudioPluginFormat::InstantiationCompletionCallback::~InstantiationCompletionCallback().