NAME

ACE_Allocator - Interface for a dynamic memory allocator that uses inheritance and dynamic binding to provide extensible mechanisms for allocating and deallocating memory.

SYNOPSIS


#include <ace/Malloc.h >


class ACE_Allocator
{
  public:
    virtual void *malloc (size_t nbytes) = 0;
    virtual void *calloc (
        size_t nbytes,
        char initial_value = '  '
        ) = 0;
    virtual void free (void *ptr) = 0;
    virtual int remove (void) = 0;
    virtual int bind (
        const char *name,
        void *pointer,
        int duplicates = 0
        ) = 0;
    virtual int trybind (const char *name, void *&pointer) = 0;
    virtual int find (const char *name, void *&pointer) = 0;
    virtual int find (const char *name) = 0;
    virtual int unbind (const char *name) = 0;
    virtual int unbind (const char *name, void *&pointer) = 0;
    virtual int sync (ssize_t len = -1, int flags = MS_SYNC) = 0;
    virtual int sync (
        void *addr,
        size_t len,
        int flags = MS_SYNC
        ) = 0;
    virtual int protect (ssize_t len = -1, int prot = PROT_RDWR) = 0;
    virtual int protect (
        void *addr,
        size_t len,
        int prot = PROT_RDWR
        ) = 0;
    virtual void dump (void) const = 0;
};

Memory Management

virtual void *malloc (size_t nbytes) = 0;
virtual void *calloc (size_t nbytes, char initial_value = '  ') = 0;
virtual void free (void *ptr) = 0;
virtual int remove (void) = 0;

Map manager like functions

virtual int bind (
    const char *name,
    void *pointer,
    int duplicates = 0
    ) = 0;
virtual int trybind (const char *name, void *&pointer) = 0;
virtual int find (const char *name, void *&pointer) = 0;
virtual int find (const char *name) = 0;
virtual int unbind (const char *name) = 0;
virtual int unbind (const char *name, void *&pointer) = 0;

Protection and

sync" (i.e., flushing memory to persistent" backing store).
virtual int sync (ssize_t len = -1, int flags = MS_SYNC) = 0;
virtual int sync (void *addr, size_t len, int flags = MS_SYNC) = 0;
virtual int protect (ssize_t len = -1, int prot = PROT_RDWR) = 0;
virtual int protect (
    void *addr,
    size_t len,
    int prot = PROT_RDWR
    ) = 0;
virtual void dump (void) const = 0;

AUTHOR

Doug Schmidt and Irfan Pyarali

LIBRARY

ace