NAME

ACE_Auto_Basic_Array_Ptr - Implements an extension to the draft C++ standard auto_ptr abstraction. This class allows one to work on non-object (basic) types that must be treated as an array, e.g., deallocated via "delete [] foo".

SYNOPSIS

#include <ace/Auto_Ptr.h>

template<class X> class ACE_Auto_Basic_Array_Ptr { public: ACE_EXPLICIT ACE_Auto_Basic_Array_Ptr (X *p = 0); ACE_Auto_Basic_Array_Ptr (ACE_Auto_Basic_Array_Ptr<X> &ap); ACE_Auto_Basic_Array_Ptr<X> &operator= ( ACE_Auto_Basic_Array_Ptr<X> &rhs ); ~ACE_Auto_Basic_Array_Ptr (void); X &operator* () const; X &operator[] (int i) const; X *get (void) const; X *release (void); void reset (X *p = 0); void dump (void) const; ACE_ALLOC_HOOK_DECLARE; protected: X *p_; };

Initialization and termination methods.

ACE_EXPLICIT ACE_Auto_Basic_Array_Ptr (X *p = 0);

ACE_Auto_Basic_Array_Ptr (ACE_Auto_Basic_Array_Ptr<X> &ap);

ACE_Auto_Basic_Array_Ptr<X> &operator= (
    ACE_Auto_Basic_Array_Ptr<X> &rhs
    );

~ACE_Auto_Basic_Array_Ptr (void);

Accessor methods.

X &operator* () const;

X &operator[] (int i) const;

X *get (void) const;

X *release (void);

void reset (X *p = 0);

void dump (void) const;

ACE_ALLOC_HOOK_DECLARE;

AUTHOR

Doug Schmidt and Irfan Pyarali, based on code from Jack Reeves (jack@fx.com) and Dr. Harald M. Mueller (mueller@garwein.hai.siemens.co.at)

LIBRARY

ace