#include "ace/Auto_Ptr.inl"
#include "ace/Auto_Ptr.cpp"
Include dependency graph for Auto_Ptr.h:
This graph shows which files directly or indirectly include this file:
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. |
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.
|
Definition at line 221 of file Auto_Ptr.h. Referenced by ACE_OS::thr_create(). |
|
Reset given
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 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 } |