OFFIS DCMTK  Version 3.6.0
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...

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

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
 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 May 31 2012 for OFFIS DCMTK Version 3.6.0 by Doxygen 1.8.1