# ACE_Auto_Basic_Array_Ptr< X > Class Template Reference

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". More...

`#include <Auto_Ptr.h>`

Inheritance diagram for ACE_Auto_Basic_Array_Ptr< X >:

[legend]
Collaboration diagram for ACE_Auto_Basic_Array_Ptr< X >:

[legend]
List of all members.

## Public Member Functions

| 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
| Dump the state of an object.

## Public Attributes

| ACE_ALLOC_HOOK_DECLARE
| Declare the dynamic allocation hooks.

## Protected Attributes

X * | p_

## Detailed Description

### template<class X>
class ACE_Auto_Basic_Array_Ptr< X >

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".

## Constructor & Destructor Documentation

template<class X>
ACE_Auto_Basic_Array_Ptr< X >::ACE_Auto_Basic_Array_Ptr | ( | X * | p = `0` | ) | `[inline, explicit]`

template<class X>
ACE_INLINE ACE_Auto_Basic_Array_Ptr< X >::ACE_Auto_Basic_Array_Ptr | ( | ACE_Auto_Basic_Array_Ptr< X > & | ap | ) |

template<class X>
ACE_INLINE ACE_Auto_Basic_Array_Ptr< X >::~ACE_Auto_Basic_Array_Ptr | ( | void |  | ) |

## Member Function Documentation

template<class X>
ACE_INLINE void ACE_Auto_Basic_Array_Ptr< X >::dump | ( | void |  | ) | const

| Dump the state of an object.

template<class X>
ACE_INLINE X * ACE_Auto_Basic_Array_Ptr< X >::get | ( | void |  | ) | const

template<class X>
ACE_INLINE X & ACE_Auto_Basic_Array_Ptr< X >::operator * | ( |  | ) | const

template<class X>
ACE_INLINE ACE_Auto_Basic_Array_Ptr< X > & ACE_Auto_Basic_Array_Ptr< X >::operator= | ( | ACE_Auto_Basic_Array_Ptr< X > & | rhs | ) |

template<class X>
ACE_INLINE X & ACE_Auto_Basic_Array_Ptr< X >::operator[] | ( | int | i | ) | const

template<class X>
ACE_INLINE X * ACE_Auto_Basic_Array_Ptr< X >::release | ( | void |  | ) |

template<class X>
ACE_INLINE void ACE_Auto_Basic_Array_Ptr< X >::reset | ( | X * | p = `0` | ) |

## Member Data Documentation

template<class X>
ACE_Auto_Basic_Array_Ptr< X >::ACE_ALLOC_HOOK_DECLARE

| Declare the dynamic allocation hooks.

template<class X>
X* ACE_Auto_Basic_Array_Ptr< X >::p_ `[protected]`

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

- Auto_Ptr.h
- Auto_Ptr.inl