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:
Generated on Fri Apr 17 11:49:48 2009 for Axis2/C by  doxygen 1.5.3