ACE  6.2.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Private Member Functions | Private Attributes | List of all members
ACE_Based_Pointer_Repository Class Reference

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

#include <Based_Pointer_Repository.h>

Collaboration diagram for ACE_Based_Pointer_Repository:
Collaboration graph
[legend]

Public Member Functions

 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 Member Functions

void operator= (const ACE_Based_Pointer_Repository &)
 
 ACE_Based_Pointer_Repository (const ACE_Based_Pointer_Repository &)
 

Private Attributes

ACE_Based_Pointer_Repository_Reprep_
 

Detailed Description

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

Constructor & Destructor Documentation

ACE_Based_Pointer_Repository::ACE_Based_Pointer_Repository ( void  )
ACE_Based_Pointer_Repository::~ACE_Based_Pointer_Repository ( void  )
ACE_Based_Pointer_Repository::ACE_Based_Pointer_Repository ( const ACE_Based_Pointer_Repository )
private

Member Function Documentation

int ACE_Based_Pointer_Repository::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 ACE_Based_Pointer_Repository::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.

void ACE_Based_Pointer_Repository::operator= ( const ACE_Based_Pointer_Repository )
private
int ACE_Based_Pointer_Repository::unbind ( void *  addr)

Unbind from the repository the <base_addr> that addr is contained within.

Member Data Documentation

ACE_Based_Pointer_Repository_Rep* ACE_Based_Pointer_Repository::rep_
private

Use the "Cheshire-Cat" technique to hide the implementation in order to avoid circular #include dependencies.


The documentation for this class was generated from the following files: