DCMTK  Version 3.6.1 20120515
OFFIS DICOM Toolkit
Public Member Functions | Protected Attributes
OFauto_ptr< T > Class Template Reference

a simple class which makes sure a pointer is deleted once it goes out of scope. More...

List of all members.

Public Member Functions

 OFauto_ptr (T *p=NULL)
 constructs a OFauto_ptr from the given pointer.
 OFauto_ptr (OFauto_ptr< T > &other)
 constructs a OFauto_ptr from another OFauto_ptr.
 OFauto_ptr (OFauto_ptr_ref< T > other)
 constructs a OFauto_ptr from an OFauto_ptr_ref.
 ~OFauto_ptr ()
 destructor.
void reset (T *p=NULL)
 assign another pointer to this OFauto_ptr, possibly deleting our current pointer
T * get () const
 get the pointer that is managed by this class
T * operator-> () const
 get the pointer that is managed by this class
T & operator* () const
 dereference the pointer that is managed by this class
 operator OFauto_ptr_ref< T > ()
 this is used automatically by the compiler, don't call directly
OFauto_ptroperator= (OFauto_ptr< T > &other)
 assigns the other pointer to this OFauto_ptr
OFauto_ptroperator= (OFauto_ptr_ref< T > other)
 assigns the other pointer to this OFauto_ptr
T * release ()
 release the pointer that is managed by this class.

Protected Attributes

T * ptr
 the pointer that it's all about

Detailed Description

template<class T>
class OFauto_ptr< T >

a simple class which makes sure a pointer is deleted once it goes out of scope.

This class does NOT do reference counting! This is a reimplementation of std::auto_ptr.


Constructor & Destructor Documentation

template<class T>
OFauto_ptr< T >::OFauto_ptr ( T *  p = NULL) [inline, explicit]

constructs a OFauto_ptr from the given pointer.

You must not call delete on a pointer that is managed by OFauto_ptr!

Parameters:
pthe pointer
template<class T>
OFauto_ptr< T >::OFauto_ptr ( OFauto_ptr< T > &  other) [inline]

constructs a OFauto_ptr from another OFauto_ptr.

The other OFauto_ptr will be invalidated. This means he will point to NULL from now on!

Parameters:
otherthe OFauto_ptr to get the pointer from.
template<class T>
OFauto_ptr< T >::OFauto_ptr ( OFauto_ptr_ref< T >  other) [inline]

constructs a OFauto_ptr from an OFauto_ptr_ref.

Parameters:
otherthe OFauto_ptr_ref to get the pointer from.
template<class T>
OFauto_ptr< T >::~OFauto_ptr ( ) [inline]

destructor.

Destroys the pointer that is managed by this instance, if there is any.


Member Function Documentation

template<class T>
T* OFauto_ptr< T >::get ( ) const [inline]

get the pointer that is managed by this class

Returns:
the pointer
template<class T>
OFauto_ptr< T >::operator OFauto_ptr_ref< T > ( ) [inline]

this is used automatically by the compiler, don't call directly

Returns:
an OFauto_ptr_ref that stores this object's pointer
template<class T>
T& OFauto_ptr< T >::operator* ( ) const [inline]

dereference the pointer that is managed by this class

Returns:
the reference
template<class T>
T* OFauto_ptr< T >::operator-> ( ) const [inline]

get the pointer that is managed by this class

Returns:
the pointer
template<class T>
OFauto_ptr& OFauto_ptr< T >::operator= ( OFauto_ptr< T > &  other) [inline]

assigns the other pointer to this OFauto_ptr

Parameters:
otherother OFauto_ptr which will be invalidated
Returns:
reference to this object
template<class T>
OFauto_ptr& OFauto_ptr< T >::operator= ( OFauto_ptr_ref< T >  other) [inline]

assigns the other pointer to this OFauto_ptr

Parameters:
otherother OFauto_ptr_ref
Returns:
reference to this object
template<class T>
T* OFauto_ptr< T >::release ( ) [inline]

release the pointer that is managed by this class.

You are now responsible for destroying that pointer yourself!

Returns:
the pointer
template<class T>
void OFauto_ptr< T >::reset ( T *  p = NULL) [inline]

assign another pointer to this OFauto_ptr, possibly deleting our current pointer

Parameters:
pthe new pointer

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


Generated on Tue May 15 2012 for DCMTK Version 3.6.1 20120515 by Doxygen 1.7.5.1-20111027