## NAME

ACE_Based_Pointer_Repository - Maps pointers to the base address of the region to which each pointer belongs.

## SYNOPSIS

    #include <ace/Based_Pointer_Repository.h>

    class ACE_Based_Pointer_Repository
    {
      public:
        ACE_Based_Pointer_Repository (void);
        ~ACE_Based_Pointer_Repository (void);
        int find (void *addr, void *&base_addr);
        int bind (void *addr, size_t size);
        int unbind (void *addr);
      private:
        ACE_Based_Pointer_Repository_Rep *rep_;
    };

## Initialization and termination methods.

    ACE_Based_Pointer_Repository (void);

    ~ACE_Based_Pointer_Repository (void);

## Search structure methods.

    int find (void *addr, void *&base_addr);

Return the appropriate `base_addr` region that contains `addr`. Returns 1 on success and 0 if the `addr` isn't contained in any `base_addr` region.

    int bind (void *addr, size_t size);

Bind a new entry to the repository or update the size of an existing entry. Returns 0 on success and -1 on failure.

    int unbind (void *addr);

Unbind from the repository the `base_addr` that `addr` is contained within.

## AUTHOR

Dietrich Quehl `Dietrich.Quehl@med.siemens.de` and Douglas C. Schmidt `schmidt@.cs.wustl.edu`

## LIBRARY

ace