Main Page Modules Namespaces C++ Classes Compound List File List Index
TNL: TNL::RefPtr< T > Class Template Reference

# TNL::RefPtr< T > Class Template Reference

`#include <tnlNetBase.h>`

Inheritance diagram for TNL::RefPtr< T >:

## Detailed Description

### template<class T>
class TNL::RefPtr< T >

Reference counted object template pointer class.

Instances of this template class can be used as pointers to instances of Object and its subclasses. The object will not be deleted until all of the RefPtr instances pointing to it have been destructed.

## Public Member Functions

| RefPtr ()
| RefPtr (T *ptr)
| RefPtr (const RefPtr< T > &ref)
RefPtr< T > & | operator= (const RefPtr< T > &ref)
RefPtr< T > & | operator= (T *ptr)
bool | isNull () const
bool | isValid () const
T * | operator-> () const
T & | operator * () const
| operator T * () const
| operator T * ()
T * | getPointer ()

## Constructor & Destructor Documentation

template<class T>

TNL::RefPtr< T >::RefPtr | ( |  | ) | `[inline]`

template<class T>

TNL::RefPtr< T >::RefPtr | ( | T * | ptr | ) | `[inline]`

template<class T>

TNL::RefPtr< T >::RefPtr | ( | const RefPtr< T > & | ref | ) | `[inline]`

## Member Function Documentation

template<class T>

RefPtr<T>& TNL::RefPtr< T >::operator= | ( | const RefPtr< T > & | ref | ) | `[inline]`

template<class T>

RefPtr<T>& TNL::RefPtr< T >::operator= | ( | T * | ptr | ) | `[inline]`

template<class T>

bool TNL::RefPtr< T >::isNull | ( |  | ) | const`[inline]`

template<class T>

bool TNL::RefPtr< T >::isValid | ( |  | ) | const`[inline]`

template<class T>

T* TNL::RefPtr< T >::operator-> | ( |  | ) | const`[inline]`

template<class T>

T& TNL::RefPtr< T >::operator * | ( |  | ) | const`[inline]`

template<class T>

TNL::RefPtr< T >::operator T * | ( |  | ) | const`[inline]`

template<class T>

TNL::RefPtr< T >::operator T * | ( |  | ) | `[inline]`

template<class T>

T* TNL::RefPtr< T >::getPointer | ( |  | ) | `[inline]`