- NAME
- SYNOPSIS
- FUNCTION DESCRIPTIONS

- AcquireMagickMemory
- CopyMagickMemory
- RelinquishMagickMemory
- ResetMagickMemory
- ResizeMagickMemory

# NAME

memory - Memory Allocation

# SYNOPSIS

void * AcquireMagickMemory( const size_t size );

void * CopyMagickMemory( void *destination, const void *source, const size_t size );

void * RelinquishMagickMemory( void ** memory );

void * ResetMagickMemory( void *memory, int byte, const size_t size );

void * ResizeMagickMemory( void *memory, const size_t size );

# FUNCTION DESCRIPTIONS

## AcquireMagickMemory

> AcquireMagickMemory() returns a pointer to a block of memory at least size bytes suitably aligned for any use.

The format of the AcquireMagickMemory method is:

> void *AcquireMagickMemory ( const size_t size );

A description of each parameter follows:

size:
  The size of the memory in bytes to allocate.

## CopyMagickMemory

> CopyMagickMemory() copies size bytes from memory area source to the destination. Copying between objects that overlap will take place correctly. It returns destination.

The format of the CopyMagickMemory method is:

> void *CopyMagickMemory ( void *destination, const void *source, const size_t size );

A description of each parameter follows:

destination:
  The destination.

source:
  The source.

size:
  The size of the memory in bytes to allocate.

## RelinquishMagickMemory

> RelinquishMagickMemory() zeros memory that has been allocated, frees it for reuse.

The format of the RelinquishMagickMemory method is:

> void *RelinquishMagickMemory ( void **memory );

A description of each parameter follows:

memory:
  A pointer to a block of memory to free for reuse.

## ResetMagickMemory

> ResetMagickMemory() fills the first size bytes of the memory area pointed to by memory with the constant byte c.

The format of the ResetMagickMemory method is:

> void *ResetMagickMemory ( void *memory, int byte, const size_t size );

A description of each parameter follows:

memory:
  A pointer to a memory allocation.

byte:
  Set the memory to this value.

size:
  Size of the memory to reset.

## ResizeMagickMemory

> ResizeMagickMemory() changes the size of the memory and returns a pointer to the ( possibly moved ) block. The contents will be unchanged up to the lesser of the new and old sizes.

The format of the ResizeMagickMemory method is:

> void *ResizeMagickMemory ( void *memory, const size_t size );

A description of each parameter follows:

memory:
  A pointer to a memory allocation.

size:
  The new size of the allocated memory.

"Image manipulation software that works like magick"