- Main Page
- Modules
- Classes
- Files
- Directories
- Related Pages
- Examples

- Search for |

- Class List
- Class Members

# axutil_allocator Struct Reference
[allocator]

Axis2 memory allocator. More...

`#include <axutil_allocator.h>`

List of all members.

## Public Attributes
void *(* | malloc_fn )(struct axutil_allocator *allocator, size_t size)
void *(* | realloc )(struct axutil_allocator *allocator, void *ptr, size_t size)
void(* | free_fn )(struct axutil_allocator *allocator, void *ptr)
void * | local_pool
void * | global_pool
void * | current_pool

## Detailed Description

Axis2 memory allocator.

Encapsulator for memory allocating routines

## Member Data Documentation

void*( * axutil_allocator::malloc_fn)(struct axutil_allocator *allocator, size_t size)

Function pointer representing the function that allocates memory.

Parameters:

  | allocator | pointer to allocator struct. In the default implementation this is not used, however this parameter is useful when the allocator implementation is dealing with a memory pool.
  | size | size of the memory block to be allocated

Returns:
  pointer to the allocated memory block

void*( * axutil_allocator::realloc)(struct axutil_allocator *allocator, void *ptr, size_t size)

Function pointer representing the function that re-allocates memory.

Parameters:

  | allocator | pointer to allocator struct. In the default implementation this is not used, however this parameter is useful when the allocator implementation is dealing with a memory pool.
  | ptr | memory block who's size to be changed
  | size | size of the memory block to be allocated

Returns:
  pointer to the allocated memory block

void( * axutil_allocator::free_fn)(struct axutil_allocator *allocator, void *ptr)

Function pointer representing the function that frees memory.

Parameters:

  | allocator | pointer to allocator struct. In the default implementation this is not used, however this parameter is useful when the allocator implementation is dealing with a memory pool.
  | ptr | pointer to be freed

Returns:
  void

void* axutil_allocator::local_pool

Local memory pool. Local pool is used to allocate per request local values.

void* axutil_allocator::global_pool

Global memory pool. Global pool is used to allocate values that live beyond a request

void* axutil_allocator::current_pool

Memory pool currently in use. The functions axutil_allocator_switch_to_global_pool and axutil_allocator_switch_to_local_pool should be used to set the current pool to global pool or to local pool respectively.

The documentation for this struct was generated from the following file:

- axutil_allocator.h