Auto_Ptr.h File Reference

#include "ace/Auto_Ptr.inl"
#include "ace/Auto_Ptr.cpp"

Include dependency graph for Auto_Ptr.h:

Include dependency graph

This graph shows which files directly or indirectly include this file:

Included by dependency graph

Go to the source code of this file.

Classes

class  ACE_Auto_Basic_Ptr
 Implements the draft C++ standard auto_ptr abstraction. This class allows one to work on non-object (basic) types. More...

class  auto_ptr
 Implements the draft C++ standard auto_ptr abstraction. More...

class  ACE_Auto_Ptr
 Implements the draft C++ standard auto_ptr abstraction. This version can be used instead of auto_ptr<T>, and obviates the need for the ACE_AUTO_PTR_RESET macro on platforms like VC6 where the auto_ptr<T> is broken. More...

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

class  ACE_Auto_Array_Ptr
 Implements an extension to the draft C++ standard auto_ptr abstraction. More...


Defines

#define ACE_AUTO_PTR_RESET(AUTOPTR, NEWPTR, TYPE)   ACE_auto_ptr_reset (AUTOPTR, NEWPTR);

Functions

template<typename AUTO_PTR_TYPE, typename PTR_TYPE> void ACE_auto_ptr_reset (AUTO_PTR_TYPE &ap, PTR_TYPE *p)
 Reset given auto_ptr element to new element.


Detailed Description

Id
Auto_Ptr.h 77304 2007-02-21 22:29:49Z ossama

Author:
Doug Schmidt <schmidt@uci.edu>

Irfan Pyarali <irfan@cs.wustl.edu>

Jack Reeves <jack@fx.com>

Dr. Harald M. Mueller <mueller@garwein.hai.siemens.co.at>

Definition in file Auto_Ptr.h.


Define Documentation

#define ACE_AUTO_PTR_RESET AUTOPTR,
NEWPTR,
TYPE   )     ACE_auto_ptr_reset (AUTOPTR, NEWPTR);
 

Definition at line 221 of file Auto_Ptr.h.

Referenced by ACE_OS::thr_create().


Function Documentation

template<typename AUTO_PTR_TYPE, typename PTR_TYPE>
void ACE_auto_ptr_reset AUTO_PTR_TYPE &  ap,
PTR_TYPE *  p
[inline]
 

Reset given auto_ptr element to new element.

Some platforms have an older version of auto_ptr support, which lacks reset, and cannot be disabled easily. Portability to these platforms requires use of this function template. This function template also works for the ACE_Auto_{Basic_}Array_Ptr class template, as well.

Definition at line 194 of file Auto_Ptr.h.

Referenced by ACE_InputCDR::read_wstring().

00196 {
00197 #if defined (ACE_AUTO_PTR_LACKS_RESET)
00198   // Allow compiler to adjust pointer to potential base class pointer
00199   // of element type found in auto_ptr.
00200   typename AUTO_PTR_TYPE::element_type * const tp = p;
00201   if (tp != ap.get ())
00202     {
00203       ap = AUTO_PTR_TYPE (tp);
00204     }
00205 #else
00206   ap.reset (p);
00207 #endif /* ACE_AUTO_PTR_LACKS_RESET */
00208 }


Generated on Sun Jan 27 12:14:10 2008 for ACE by doxygen 1.3.6