JUCE  v6.1.6 (6.0.8-1114)
JUCE API
Looking for a senior C++ dev?
I'm looking for work. Hire me!
juce_Memory.h File Reference
This graph shows which files directly or indirectly include this file:

Classes

class  juce::ScopedAutoReleasePool
 A handy C++ wrapper that creates and deletes an NSAutoreleasePool object using RAII. More...
 

Namespaces

 juce
 

Macros

#define JUCE_AUTORELEASEPOOL   @autoreleasepool
 A macro that can be used to easily declare a local ScopedAutoReleasePool object for RAII-based obj-C autoreleasing. More...
 
#define juce_UseDebuggingNewOperator
 (Deprecated) This was a Windows-specific way of checking for object leaks - now please use the JUCE_LEAK_DETECTOR instead. More...
 

Functions

template<typename Type , typename IntegerType >
const Type * juce::addBytesToPointer (const Type *basePointer, IntegerType bytes) noexcept
 A handy function which adds a number of bytes to any type of pointer and returns the result. More...
 
template<typename Type , typename IntegerType >
Type * juce::addBytesToPointer (Type *basePointer, IntegerType bytes) noexcept
 A handy function which adds a number of bytes to any type of pointer and returns the result. More...
 
template<class Type >
Type * juce::createCopyIfNotNull (const Type *objectToCopy)
 If a pointer is non-null, this returns a new copy of the object that it points to, or safely returns nullptr if the pointer is null. More...
 
template<typename Type >
void juce::deleteAndZero (Type &pointer)
 Delete an object pointer, and sets the pointer to null. More...
 
template<typename Type1 , typename Type2 >
int juce::getAddressDifference (Type1 *pointer1, Type2 *pointer2) noexcept
 A handy function which returns the difference between any two pointers, in bytes. More...
 
template<typename T >
std::unique_ptr< T > juce::rawToUniquePtr (T *ptr)
 Converts an owning raw pointer into a unique_ptr, deriving the type of the unique_ptr automatically. More...
 
template<typename Type >
Type juce::readUnaligned (const void *srcPtr) noexcept
 A handy function to read un-aligned memory without a performance penalty or bus-error. More...
 
template<typename Type , typename IntegerType >
Type * juce::snapPointerToAlignment (Type *basePointer, IntegerType alignmentBytes) noexcept
 A handy function to round up a pointer to the nearest multiple of a given number of bytes. More...
 
template<typename Type , typename std::enable_if< std::is_pointer< Type >::value, int >::type = 0>
Type juce::unalignedPointerCast (const void *ptr) noexcept
 Casts a pointer to another type via void*, which suppresses the cast-align warning which sometimes arises when casting pointers to types with different alignment. More...
 
template<typename Type , typename std::enable_if< std::is_pointer< Type >::value, int >::type = 0>
Type juce::unalignedPointerCast (void *ptr) noexcept
 Casts a pointer to another type via void*, which suppresses the cast-align warning which sometimes arises when casting pointers to types with different alignment. More...
 
template<typename Type >
void juce::writeUnaligned (void *dstPtr, Type value) noexcept
 A handy function to write un-aligned memory without a performance penalty or bus-error. More...
 
void juce::zeromem (void *memory, size_t numBytes) noexcept
 Fills a block of memory with zeros. More...
 
template<typename Type >
void juce::zerostruct (Type &structure) noexcept
 Overwrites a structure or object with zeros. More...
 

Macro Definition Documentation

◆ JUCE_AUTORELEASEPOOL

#define JUCE_AUTORELEASEPOOL   @autoreleasepool

A macro that can be used to easily declare a local ScopedAutoReleasePool object for RAII-based obj-C autoreleasing.

Because this may use the @autoreleasepool syntax, you must follow the macro with a set of braces to mark the scope of the pool.

◆ juce_UseDebuggingNewOperator

#define juce_UseDebuggingNewOperator

(Deprecated) This was a Windows-specific way of checking for object leaks - now please use the JUCE_LEAK_DETECTOR instead.