## NAME

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

## SYNOPSIS

    #include <ace/Based_Pointer_T.h>

    template<class CONCRETE>
    class ACE_Based_Pointer : public ACE_Based_Pointer_Basic<CONCRETE>
    {
      public:
        ACE_Based_Pointer (void);
        ACE_Based_Pointer (CONCRETE *initial);
        ACE_Based_Pointer (const ACE_Based_Pointer<CONCRETE> &);
        void operator = (CONCRETE *from);
        CONCRETE *operator-> (void);
        inline ACE_UNIMPLEMENTED_FUNC (
            void operator= (const ACE_Based_Pointer<CONCRETE> &)
            );
    };

## DESCRIPTION

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 -().

## Initialization method.

    ACE_Based_Pointer (void);

Constructor. See constructor for `ACE_Based_Pointer_Basic` for details.

    ACE_Based_Pointer (CONCRETE *initial);

Initialize this object using the `initial` pointer.

    ACE_Based_Pointer (const ACE_Based_Pointer<CONCRETE> &);

Copy constructor.

    void operator = (CONCRETE *from);

Pseudo-assignment operator.

    CONCRETE *operator-> (void);

The C++ "delegation operator".

## Prevent assignment and initialization (for now).

    inline ACE_UNIMPLEMENTED_FUNC (
        void operator= (const ACE_Based_Pointer<CONCRETE> &)
        );

## AUTHOR

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

## LIBRARY

ace