---
name: "ACE_Based_Pointer_Repository"
section: "3"
platform: "linux"
package: "libace-doc"
version: "5.0.7-4"
release: "Debian 2.2 (Potato)"
platforms: ["linux"]
url: "https://new.carta.tech/ACE_Based_Pointer_Repository"
---

# ACE\_Based\_Pointer\_Repository(3)

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

## 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
