Main Page | Namespace List | Class Hierarchy | Class List | File List | Class Members

epi::type::ErlTermPtr< T > Class Template Reference

#include <ErlTermPtr.hpp>

List of all members.

Public Member Functions

 ErlTermPtr (erlterm_ptr term=0)
 ErlTermPtr (const ErlTermPtr &rhs)
template<class U>  ErlTermPtr (const ErlTermPtr< U > &rhs)
 ~ErlTermPtr ()
T & operator * () const
erlterm_ptr operator-> () const
erlterm_ptr get () const
erlterm_ptr drop ()
void reset (erlterm_ptr newTerm=0)
ErlTermPtroperator= (ErlTermPtr &rhs)
template<class U> ErlTermPtr< T > & operator= (ErlTermPtr< U > &rhs)
ErlTermPtroperator= (erlterm_ptr rhs)
template<class U> ErlTermPtr< T > & operator= (U *rhs)


Detailed Description

template<class T = epi::type::ErlTerm>
class epi::type::ErlTermPtr< T >

Smart Pointer to manage ErlTerm instances. Automatic manages reference counting methods.
Parameters:
T type to use, default: ErlTerm.


Constructor & Destructor Documentation

template<class T = epi::type::ErlTerm>
epi::type::ErlTermPtr< T >::ErlTermPtr erlterm_ptr  term = 0  )  [inline]
 

Create a new ErlTermPtr from ErlTerm pointer, increasing reference counter

template<class T = epi::type::ErlTerm>
epi::type::ErlTermPtr< T >::ErlTermPtr const ErlTermPtr< T > &  rhs  )  [inline]
 

Copy constructor. initialize a new ErlTermPtr with other one increasing the Ref Counter

template<class T = epi::type::ErlTerm>
epi::type::ErlTermPtr< T >::~ErlTermPtr  )  [inline]
 

Destructor. Decreases counter


Member Function Documentation

template<class T = epi::type::ErlTerm>
erlterm_ptr epi::type::ErlTermPtr< T >::drop  )  [inline]
 

Decreases the reference counter of underlying pointer WITHOUT destroying it and resets the internal ErlTerm pointer to 0. Use this method with care, just to return zero referenced ErlTerms

Returns:
underlying pointer to ErlTerm with counter decreased. The reference counter can be <= 0!

template<class T = epi::type::ErlTerm>
erlterm_ptr epi::type::ErlTermPtr< T >::get  )  const [inline]
 

Returns a pointer to the underlying object

template<class T = epi::type::ErlTerm>
T& epi::type::ErlTermPtr< T >::operator *  )  const [inline]
 

Operator '*', returns a reference to the underlying object

template<class T = epi::type::ErlTerm>
erlterm_ptr epi::type::ErlTermPtr< T >::operator->  )  const [inline]
 

Operator '->', returns a pointer to the underlying object

template<class T = epi::type::ErlTerm>
ErlTermPtr& epi::type::ErlTermPtr< T >::operator= ErlTermPtr< T > &  rhs  )  [inline]
 

Operator '=', copies the given argument to *this, increasing counter of given ErlTerm and releasing of old one

template<class T = epi::type::ErlTerm>
void epi::type::ErlTermPtr< T >::reset erlterm_ptr  newTerm = 0  )  [inline]
 

Sets the underlying ErlTerm to p, increasing reference counter of the new pointer and decreasing the counter of the old one

Parameters:
newTerm new ErlTerm pointer to manage


The documentation for this class was generated from the following file:
Generated on Wed Mar 30 22:04:46 2005 for EPI by doxygen 1.3.4