Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members   Related Pages  

ACE_Allocator_Adapter Class Template Reference

This class is an Adapter that allows the ACE_Allocator to use the ACE_Malloc class below. More...

#include <Malloc_T.h>

Inheritance diagram for ACE_Allocator_Adapter:

Inheritance graph
[legend]
Collaboration diagram for ACE_Allocator_Adapter:

Collaboration graph
[legend]
List of all members.

Public Types

typedef MALLOC ALLOCATOR
typedef const ACE_TYPENAME
MALLOC::MEMORY_POOL_OPTIONS * 
MEMORY_POOL_OPTIONS

Public Methods

 ACE_Allocator_Adapter (const char *pool_name=0)
 Note that pool_name should be located in a directory with the appropriate visibility and protection so that all processes that need to access it can do so. More...

 ACE_Allocator_Adapter (const char *pool_name, const char *lock_name, MEMORY_POOL_OPTIONS options=0)
 Note that pool_name should be located in a directory with the appropriate visibility and protection so that all processes that need to access it can do so. More...

 ACE_Allocator_Adapter (const wchar_t *pool_name)
 Note that pool_name should be located in a directory with the appropriate visibility and protection so that all processes that need to access it can do so. More...

 ACE_Allocator_Adapter (const wchar_t *pool_name, const wchar_t *lock_name, MEMORY_POOL_OPTIONS options=0)
 Note that pool_name should be located in a directory with the appropriate visibility and protection so that all processes that need to access it can do so. More...

virtual ~ACE_Allocator_Adapter (void)
 Destructor. More...

virtual void * malloc (size_t nbytes)
 Allocate nbytes, but don't give them any initial value. More...

virtual void * calloc (size_t nbytes, char initial_value='\0')
 Allocate nbytes, giving them all an initial_value. More...

virtual void * calloc (size_t n_elem, size_t elem_size, char initial_value='\0')
 Allocate n_elem each of size elem_size, giving them initial_value. More...

virtual void free (void *ptr)
 Free ptr (must have been allocated by ACE_Allocator::malloc()). More...

virtual int remove (void)
 Remove any resources associated with this memory manager. More...

virtual int bind (const char *name, void *pointer, int duplicates=0)
 Associate name with pointer. More...

virtual int trybind (const char *name, void *&pointer)
 Associate name with pointer. More...

virtual int find (const char *name, void *&pointer)
 Locate name and pass out parameter via pointer. If found, return 0, returns -1 if name isn't found. More...

virtual int find (const char *name)
 Returns 0 if the name is in the mapping and -1 if not. More...

virtual int unbind (const char *name)
 Unbind (remove) the name from the map. Don't return the pointer to the caller. More...

virtual int unbind (const char *name, void *&pointer)
 Break any association of name. Returns the value of pointer in case the caller needs to deallocate memory. More...

virtual int sync (ssize_t len=-1, int flags=MS_SYNC)
 Sync len bytes of the memory region to the backing store starting at this->base_addr_. More...

virtual int sync (void *addr, size_t len, int flags=MS_SYNC)
 Sync len bytes of the memory region to the backing store starting at addr_. More...

virtual int protect (ssize_t len=-1, int prot=PROT_RDWR)
 Change the protection of the pages of the mapped region to prot starting at this->base_addr_ up to len bytes. More...

virtual int protect (void *addr, size_t len, int prot=PROT_RDWR)
 Change the protection of the pages of the mapped region to prot starting at addr up to len bytes. More...

ALLOCATORalloc (void)
 Returns the underlying allocator. More...

virtual void dump (void) const
 Dump the state of the object. More...


Private Attributes

ALLOCATOR allocator_
 ALLOCATOR instance, which is owned by the adapter. More...


Detailed Description

template<class MALLOC>
class ACE_Allocator_Adapter< MALLOC >

This class is an Adapter that allows the ACE_Allocator to use the ACE_Malloc class below.


Member Typedef Documentation

template<class MALLOC>
typedef MALLOC ACE_Allocator_Adapter::ALLOCATOR
 

template<class MALLOC>
typedef const ACE_TYPENAME MALLOC::MEMORY_POOL_OPTIONS* ACE_Allocator_Adapter::MEMORY_POOL_OPTIONS
 


Constructor & Destructor Documentation

template<class MALLOC>
ACE_Allocator_Adapter< MALLOC >::ACE_Allocator_Adapter const char *    pool_name = 0
 

Note that pool_name should be located in a directory with the appropriate visibility and protection so that all processes that need to access it can do so.

template<class MALLOC>
ACE_Allocator_Adapter< MALLOC >::ACE_Allocator_Adapter const char *    pool_name,
const char *    lock_name,
MEMORY_POOL_OPTIONS    options = 0
[inline]
 

Note that pool_name should be located in a directory with the appropriate visibility and protection so that all processes that need to access it can do so.

This constructor must be inline to avoid bugs with some C++ compilers.

template<class MALLOC>
ACE_Allocator_Adapter< MALLOC >::ACE_Allocator_Adapter const wchar_t *    pool_name
 

Note that pool_name should be located in a directory with the appropriate visibility and protection so that all processes that need to access it can do so.

template<class MALLOC>
ACE_Allocator_Adapter< MALLOC >::ACE_Allocator_Adapter const wchar_t *    pool_name,
const wchar_t *    lock_name,
MEMORY_POOL_OPTIONS    options = 0
[inline]
 

Note that pool_name should be located in a directory with the appropriate visibility and protection so that all processes that need to access it can do so.

This constructor must be inline to avoid bugs with some C++ compilers.

template<class MALLOC>
ACE_Allocator_Adapter< MALLOC >::~ACE_Allocator_Adapter void    [virtual]
 

Destructor.


Member Function Documentation

template<class MALLOC>
ACE_INLINE MALLOC & ACE_Allocator_Adapter< MALLOC >::alloc void   
 

Returns the underlying allocator.

template<class MALLOC>
ACE_INLINE int ACE_Allocator_Adapter< MALLOC >::bind const char *    name,
void *    pointer,
int    duplicates = 0
[virtual]
 

Associate name with pointer.

If duplicates == 0 then do not allow duplicate name/pointer associations, else if duplicates> != 0 then allow duplicate name/pointer assocations. Returns 0 if successfully binds (1) a previously unbound name or (2) duplicates != 0, returns 1 if trying to bind a previously bound name and duplicates == 0, else returns -1 if a resource failure occurs.

Reimplemented from ACE_Allocator.

template<class MALLOC>
ACE_INLINE void * ACE_Allocator_Adapter< MALLOC >::calloc size_t    n_elem,
size_t    elem_size,
char    initial_value = '\0'
[virtual]
 

Allocate n_elem each of size elem_size, giving them initial_value.

Reimplemented from ACE_Allocator.

template<class MALLOC>
ACE_INLINE void * ACE_Allocator_Adapter< MALLOC >::calloc size_t    nbytes,
char    initial_value = '\0'
[virtual]
 

Allocate nbytes, giving them all an initial_value.

Reimplemented from ACE_Allocator.

template<class MALLOC>
void ACE_Allocator_Adapter< MALLOC >::dump void    const [virtual]
 

Dump the state of the object.

Reimplemented from ACE_Allocator.

template<class MALLOC>
ACE_INLINE int ACE_Allocator_Adapter< MALLOC >::find const char *    name [virtual]
 

Returns 0 if the name is in the mapping and -1 if not.

Reimplemented from ACE_Allocator.

template<class MALLOC>
ACE_INLINE int ACE_Allocator_Adapter< MALLOC >::find const char *    name,
void *&    pointer
[virtual]
 

Locate name and pass out parameter via pointer. If found, return 0, returns -1 if name isn't found.

Reimplemented from ACE_Allocator.

template<class MALLOC>
ACE_INLINE void ACE_Allocator_Adapter< MALLOC >::free void *    ptr [virtual]
 

Free ptr (must have been allocated by ACE_Allocator::malloc()).

Reimplemented from ACE_Allocator.

template<class MALLOC>
ACE_INLINE void * ACE_Allocator_Adapter< MALLOC >::malloc size_t    nbytes [virtual]
 

Allocate nbytes, but don't give them any initial value.

Reimplemented from ACE_Allocator.

template<class MALLOC>
int ACE_Allocator_Adapter< MALLOC >::protect void *    addr,
size_t    len,
int    flags = PROT_RDWR
[virtual]
 

Change the protection of the pages of the mapped region to prot starting at addr up to len bytes.

Reimplemented from ACE_Allocator.

template<class MALLOC>
virtual int ACE_Allocator_Adapter< MALLOC >::protect ssize_t    len = -1,
int    prot = PROT_RDWR
[virtual]
 

Change the protection of the pages of the mapped region to prot starting at this->base_addr_ up to len bytes.

If len == -1 then change protection of all pages in the mapped region.

Reimplemented from ACE_Allocator.

template<class MALLOC>
ACE_INLINE int ACE_Allocator_Adapter< MALLOC >::remove void    [virtual]
 

Remove any resources associated with this memory manager.

Reimplemented from ACE_Allocator.

template<class MALLOC>
ACE_INLINE int ACE_Allocator_Adapter< MALLOC >::sync void *    addr,
size_t    len,
int    flags = MS_SYNC
[virtual]
 

Sync len bytes of the memory region to the backing store starting at addr_.

Reimplemented from ACE_Allocator.

template<class MALLOC>
ACE_INLINE int ACE_Allocator_Adapter< MALLOC >::sync ssize_t    len = -1,
int    flags = MS_SYNC
[virtual]
 

Sync len bytes of the memory region to the backing store starting at this->base_addr_.

If len == -1 then sync the whole region.

Reimplemented from ACE_Allocator.

template<class MALLOC>
ACE_INLINE int ACE_Allocator_Adapter< MALLOC >::trybind const char *    name,
void *&    pointer
[virtual]
 

Associate name with pointer.

Does not allow duplicate name/pointer associations. Returns 0 if successfully binds (1) a previously unbound name, 1 if trying to bind a previously bound name, or returns -1 if a resource failure occurs. When this call returns, pointer's value will always reference the void * that name is associated with. Thus, if the caller needs to use pointer (e.g., to free it) a copy must be maintained by the caller.

Reimplemented from ACE_Allocator.

template<class MALLOC>
ACE_INLINE int ACE_Allocator_Adapter< MALLOC >::unbind const char *    name,
void *&    pointer
[virtual]
 

Break any association of name. Returns the value of pointer in case the caller needs to deallocate memory.

Reimplemented from ACE_Allocator.

template<class MALLOC>
ACE_INLINE int ACE_Allocator_Adapter< MALLOC >::unbind const char *    name [virtual]
 

Unbind (remove) the name from the map. Don't return the pointer to the caller.

Reimplemented from ACE_Allocator.


Member Data Documentation

template<class MALLOC>
ALLOCATOR ACE_Allocator_Adapter::allocator_ [private]
 

ALLOCATOR instance, which is owned by the adapter.

Reimplemented from ACE_Allocator.


The documentation for this class was generated from the following files:
Generated on Sun Dec 1 11:20:33 2002 for ACE by doxygen1.2.13.1 written by Dimitri van Heesch, © 1997-2001