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
 get the pointer that is managed by this class.
 operator OFauto_ptr_ref ()
 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  )  [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:
p the 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:
other the 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:
other the 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>
void OFauto_ptr< T >::reset ( T *  p = NULL  )  [inline]

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

Parameters:
p the new pointer

Definition at line 118 of file ofaptr.h.

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

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 EncoderStrategy::AppendToBitStream(), OFauto_ptr< DecoderStrategy >::operator *(), OFauto_ptr< DecoderStrategy >::operator->(), and log4cplus::spi::FactoryRegistry< T >::put().

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>
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>
OFauto_ptr< T >::operator OFauto_ptr_ref (  )  [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.

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

assigns the other pointer to this OFauto_ptr

Parameters:
other other 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:
other other 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< DecoderStrategy >::operator OFauto_ptr_ref(), OFauto_ptr< DecoderStrategy >::operator=(), and log4cplus::spi::FactoryRegistry< T >::put().


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


Generated on 6 Jan 2011 for OFFIS DCMTK Version 3.6.0 by Doxygen 1.5.1