ACE  6.4.2
Public Member Functions | List of all members
ACE_Based_Pointer< CONCRETE > Class Template Reference

A smart proxy that keeps track of the relative offset of a "pointer" from its base address. More...

#include <Based_Pointer_T.h>

Inheritance diagram for ACE_Based_Pointer< CONCRETE >:
Inheritance graph
[legend]
Collaboration diagram for ACE_Based_Pointer< CONCRETE >:
Collaboration graph
[legend]

Public Member Functions

 ACE_Based_Pointer (void)
 
 ACE_Based_Pointer (CONCRETE *initial)
 
 ACE_Based_Pointer (const void *base_addr, int dummy)
 
 ACE_Based_Pointer (const ACE_Based_Pointer< CONCRETE > &)
 Copy constructor (not implemented yet). More...
 
void operator= (const ACE_Based_Pointer< CONCRETE > &)
 Assignment operator. More...
 
void operator= (CONCRETE *from)
 Pseudo-assignment operator. More...
 
CONCRETE * operator-> (void)
 The C++ "delegation operator". More...
 
- Public Member Functions inherited from ACE_Based_Pointer_Basic< CONCRETE >
 ACE_Based_Pointer_Basic (void)
 
 ACE_Based_Pointer_Basic (CONCRETE *initial)
 
 ACE_Based_Pointer_Basic (const ACE_Based_Pointer_Basic< CONCRETE > &)
 Copy constructor. More...
 
 ACE_Based_Pointer_Basic (const void *base_addr, int o)
 
void operator= (CONCRETE *from)
 Pseudo-assignment operator. More...
 
void operator= (const ACE_Based_Pointer_Basic< CONCRETE > &)
 Pseudo-assignment operator. More...
 
CONCRETE operator* (void) const
 Dereference operator. More...
 
bool operator< (const ACE_Based_Pointer_Basic< CONCRETE > &) const
 Less than operator. More...
 
bool operator<= (const ACE_Based_Pointer_Basic< CONCRETE > &) const
 Less than or equal operator. More...
 
bool operator> (const ACE_Based_Pointer_Basic< CONCRETE > &) const
 Greater than operator. More...
 
bool operator>= (const ACE_Based_Pointer_Basic< CONCRETE > &) const
 Greater than or equal operator. More...
 
bool operator== (const ACE_Based_Pointer_Basic< CONCRETE > &) const
 Equality operator. More...
 
bool operator!= (const ACE_Based_Pointer_Basic< CONCRETE > &) const
 Inequality operator. More...
 
CONCRETE operator[] (int index) const
 Subscript operator. More...
 
void operator+= (int index)
 Increment operator. More...
 
 operator CONCRETE * () const
 Returns the underlying memory address of the smart pointer. More...
 
CONCRETE * addr (void) const
 Returns the underlying memory address of the smart pointer. More...
 
void dump (void) const
 Dump the state of the object. More...
 

Additional Inherited Members

- Public Attributes inherited from ACE_Based_Pointer_Basic< CONCRETE >
 ACE_ALLOC_HOOK_DECLARE
 Declare the dynamic allocation hooks. More...
 
- Protected Attributes inherited from ACE_Based_Pointer_Basic< CONCRETE >
ptrdiff_t target_
 
ptrdiff_t base_offset_
 Keep track of our offset from the base pointer. More...
 

Detailed Description

template<class CONCRETE>
class ACE_Based_Pointer< CONCRETE >

A smart 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 by overloading the C++ delegation operator ->().

Constructor & Destructor Documentation

template<class CONCRETE>
ACE_Based_Pointer< CONCRETE >::ACE_Based_Pointer ( void  )

Constructor. See constructor for ACE_Based_Pointer_Basic for details.

template<class CONCRETE>
ACE_Based_Pointer< CONCRETE >::ACE_Based_Pointer ( CONCRETE *  initial)

Initialize this object using the <initial> pointer. See constructor for ACE_Based_Pointer_Basic for details.

template<class CONCRETE>
ACE_Based_Pointer< CONCRETE >::ACE_Based_Pointer ( const void *  base_addr,
int  dummy 
)

Initialize this object with known base_addr. dummy is a dummy value used to resolve overload ambiguity and it otherwise ignored.

template<class CONCRETE>
ACE_Based_Pointer< CONCRETE >::ACE_Based_Pointer ( const ACE_Based_Pointer< CONCRETE > &  rhs)

Copy constructor (not implemented yet).

Member Function Documentation

template<class CONCRETE >
CONCRETE * ACE_Based_Pointer< CONCRETE >::operator-> ( void  )
inline

The C++ "delegation operator".

template<class CONCRETE>
void ACE_Based_Pointer< CONCRETE >::operator= ( const ACE_Based_Pointer< CONCRETE > &  rhs)
inline

Assignment operator.

template<class CONCRETE>
void ACE_Based_Pointer< CONCRETE >::operator= ( CONCRETE *  from)
inline

Pseudo-assignment operator.


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