ACE
6.1.1
|
A proxy that keeps track of the relative offset of a "pointer" from its base address. This class makes it possible to transparently use "pointers" in shared memory as easily as programming with pointers to local memory. In particular, we don't need to ensure that the base addresses of all the pointers are mapped into separate processes at the same absolute memory base address. More...
#include <Based_Pointer_T.h>
Public Member Functions | |
ACE_Based_Pointer_Basic (void) | |
ACE_Based_Pointer_Basic (CONCRETE *initial) | |
ACE_Based_Pointer_Basic (const ACE_Based_Pointer_Basic< CONCRETE > &) | |
Copy constructor. | |
ACE_Based_Pointer_Basic (const void *base_addr, int o) | |
void | operator= (CONCRETE *from) |
Pseudo-assignment operator. | |
void | operator= (const ACE_Based_Pointer_Basic< CONCRETE > &) |
Pseudo-assignment operator. | |
CONCRETE | operator* (void) const |
Dereference operator. | |
bool | operator< (const ACE_Based_Pointer_Basic< CONCRETE > &) const |
Less than operator. | |
bool | operator<= (const ACE_Based_Pointer_Basic< CONCRETE > &) const |
Less than or equal operator. | |
bool | operator> (const ACE_Based_Pointer_Basic< CONCRETE > &) const |
Greater than operator. | |
bool | operator>= (const ACE_Based_Pointer_Basic< CONCRETE > &) const |
Greater than or equal operator. | |
bool | operator== (const ACE_Based_Pointer_Basic< CONCRETE > &) const |
Equality operator. | |
bool | operator!= (const ACE_Based_Pointer_Basic< CONCRETE > &) const |
Inequality operator. | |
CONCRETE | operator[] (int index) const |
Subscript operator. | |
void | operator+= (int index) |
Increment operator. | |
operator CONCRETE * () const | |
Returns the underlying memory address of the smart pointer. | |
CONCRETE * | addr (void) const |
Returns the underlying memory address of the smart pointer. | |
void | dump (void) const |
Dump the state of the object. | |
Public Attributes | |
ACE_ALLOC_HOOK_DECLARE | |
Declare the dynamic allocation hooks. | |
Protected Attributes | |
ptrdiff_t | target_ |
ptrdiff_t | base_offset_ |
Keep track of our offset from the base pointer. |
A proxy that keeps track of the relative offset of a "pointer" from its base address. This class makes it possible to transparently use "pointers" in shared memory as easily as programming with pointers to local memory. In particular, we don't need to ensure that the base addresses of all the pointers are mapped into separate processes at the same absolute memory base address.
ACE_Based_Pointer_Basic< CONCRETE >::ACE_Based_Pointer_Basic | ( | void | ) |
This constructor initializes the <base_offset_> by asking the <ACE_BASED_POINTER_REPOSITORY> Singleton for the base address of the memory region within which it is instantiated. Two results are possible:
ACE_Based_Pointer_Basic< CONCRETE >::ACE_Based_Pointer_Basic | ( | CONCRETE * | initial | ) |
Initialize this object using the initial pointer. This constructor initializes the <base_offset_> by asking the <ACE_BASED_POINTER_REPOSITORY> Singleton for the base address of the memory region within which it is instantiated. Three results are possible:
ACE_Based_Pointer_Basic< CONCRETE >::ACE_Based_Pointer_Basic | ( | const ACE_Based_Pointer_Basic< CONCRETE > & | ) |
Copy constructor.
ACE_Based_Pointer_Basic< CONCRETE >::ACE_Based_Pointer_Basic | ( | const void * | base_addr, |
int | o | ||
) |
Constructor for know base address. o is only used to resolve overload ambiguity.
CONCRETE * ACE_Based_Pointer_Basic< CONCRETE >::addr | ( | void | ) | const [inline] |
Returns the underlying memory address of the smart pointer.
void ACE_Based_Pointer_Basic< CONCRETE >::dump | ( | void | ) | const |
Dump the state of the object.
ACE_Based_Pointer_Basic< CONCRETE >::operator CONCRETE * | ( | ) | const [inline] |
Returns the underlying memory address of the smart pointer.
bool ACE_Based_Pointer_Basic< CONCRETE >::operator!= | ( | const ACE_Based_Pointer_Basic< CONCRETE > & | rhs | ) | const [inline] |
Inequality operator.
CONCRETE ACE_Based_Pointer_Basic< CONCRETE >::operator* | ( | void | ) | const [inline] |
Dereference operator.
void ACE_Based_Pointer_Basic< CONCRETE >::operator+= | ( | int | index | ) | [inline] |
Increment operator.
bool ACE_Based_Pointer_Basic< CONCRETE >::operator< | ( | const ACE_Based_Pointer_Basic< CONCRETE > & | rhs | ) | const [inline] |
Less than operator.
bool ACE_Based_Pointer_Basic< CONCRETE >::operator<= | ( | const ACE_Based_Pointer_Basic< CONCRETE > & | rhs | ) | const [inline] |
Less than or equal operator.
void ACE_Based_Pointer_Basic< CONCRETE >::operator= | ( | CONCRETE * | from | ) | [inline] |
Pseudo-assignment operator.
Reimplemented in ACE_Based_Pointer< CONCRETE >, ACE_Based_Pointer< ACE_Name_Node >, ACE_Based_Pointer< ACE_MEM_SAP_Node >, and ACE_Based_Pointer< ACE_Malloc_Header >.
void ACE_Based_Pointer_Basic< CONCRETE >::operator= | ( | const ACE_Based_Pointer_Basic< CONCRETE > & | rhs | ) | [inline] |
Pseudo-assignment operator.
bool ACE_Based_Pointer_Basic< CONCRETE >::operator== | ( | const ACE_Based_Pointer_Basic< CONCRETE > & | rhs | ) | const [inline] |
Equality operator.
bool ACE_Based_Pointer_Basic< CONCRETE >::operator> | ( | const ACE_Based_Pointer_Basic< CONCRETE > & | rhs | ) | const [inline] |
Greater than operator.
bool ACE_Based_Pointer_Basic< CONCRETE >::operator>= | ( | const ACE_Based_Pointer_Basic< CONCRETE > & | rhs | ) | const [inline] |
Greater than or equal operator.
CONCRETE ACE_Based_Pointer_Basic< CONCRETE >::operator[] | ( | int | index | ) | const [inline] |
Subscript operator.
ACE_Based_Pointer_Basic< CONCRETE >::ACE_ALLOC_HOOK_DECLARE |
Declare the dynamic allocation hooks.
ptrdiff_t ACE_Based_Pointer_Basic< CONCRETE >::base_offset_ [protected] |
Keep track of our offset from the base pointer.
ptrdiff_t ACE_Based_Pointer_Basic< CONCRETE >::target_ [protected] |