OFFIS DCMTK  Version 3.6.0
Public Member Functions | Protected Attributes | List of all members
OFauto_ptr< T > Class Template Reference

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

Inheritance diagram for OFauto_ptr< T >:
[legend]
Collaboration diagram for OFauto_ptr< T >:
[legend]

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

Definition at line 76 of file ofaptr.h.

Constructor & Destructor Documentation

template<class T>
OFauto_ptr< T >::OFauto_ptr ( T *  p = NULL)
inlineexplicit

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

Definition at line 87 of file ofaptr.h.

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.

Definition at line 95 of file ofaptr.h.

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.

Definition at line 102 of file ofaptr.h.

template<class T>
OFauto_ptr< T >::~OFauto_ptr ( )
inline

destructor.

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

Definition at line 109 of file ofaptr.h.

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

Definition at line 128 of file ofaptr.h.

Referenced by log4cplus::spi::FactoryRegistry< T >::put().

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 objects's pointer.

Definition at line 143 of file ofaptr.h.

References OFauto_ptr< T >::release().

template<class T>
T& OFauto_ptr< T >::operator* ( ) const
inline

get the pointer that is managed by this class.

Returns
the pointer

Definition at line 138 of file ofaptr.h.

template<class T>
T* OFauto_ptr< T >::operator-> ( ) const
inline

get the pointer that is managed by this class.

Returns
the pointer

Definition at line 133 of file ofaptr.h.

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

Definition at line 152 of file ofaptr.h.

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

Definition at line 162 of file ofaptr.h.

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

Definition at line 172 of file ofaptr.h.

Referenced by OFauto_ptr< T >::operator OFauto_ptr_ref< T >(), and OFauto_ptr< DecoderStrategy >::operator=().

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

Definition at line 118 of file ofaptr.h.

Referenced by OFauto_ptr< DecoderStrategy >::operator=(), and OFauto_ptr< DecoderStrategy >::~OFauto_ptr().


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


Generated on Thu Dec 20 2012 for OFFIS DCMTK Version 3.6.0 by Doxygen 1.8.2