JUCE

- Main Page
- Related Pages
- Topics
- Classes
- Files

- File List
- File Members

Loading...
Searching...
No Matches
Classes | Macros | Functions
juce_Memory.h File Reference

## Classes
class | ScopedAutoReleasePool
| A handy C++ wrapper that creates and deletes an NSAutoreleasePool object using RAII. More...

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

## Functions
void | zeromem (void *memory, size_t numBytes) noexcept
| Fills a block of memory with zeros.
template<typename Type >
void | zerostruct (Type &structure) noexcept
| Overwrites a structure or object with zeros.
template<typename Type >
void | deleteAndZero (Type &pointer)
| Delete an object pointer, and sets the pointer to null.
template<typename Type , typename IntegerType >
Type * | snapPointerToAlignment (Type *basePointer, IntegerType alignmentBytes) noexcept
| A handy function to round up a pointer to the nearest multiple of a given number of bytes.
template<typename Type1 , typename Type2 >
int | getAddressDifference (Type1 *pointer1, Type2 *pointer2) noexcept
| A handy function which returns the difference between any two pointers, in bytes.
template<class Type >
Type * | 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.
template<typename Type >
Type | readUnaligned (const void *srcPtr) noexcept
| A handy function to read un-aligned memory without a performance penalty or bus-error.
template<typename Type >
void | writeUnaligned (void *dstPtr, Type value) noexcept
| A handy function to write un-aligned memory without a performance penalty or bus-error.
template<typename Type >
Type | 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.
template<typename Type >
Type | 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.
template<typename Type , typename IntegerType >
Type * | addBytesToPointer (Type *basePointer, IntegerType bytes) noexcept
| A handy function which adds a number of bytes to any type of pointer and returns the result.
template<typename Type , typename IntegerType >
const Type * | 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.
template<typename T >
std::unique_ptr< T > | rawToUniquePtr (T *ptr)
| Converts an owning raw pointer into a unique_ptr, deriving the type of the unique_ptr automatically.