UCommon
ucommon::pointer< T > Class Template Reference

Generic smart pointer class. More...

#include <generics.h>

Public Member Functions

 operator bool () const
bool operator! () const
T & operator* () const
T * operator-> () const
pointeroperator= (const pointer< T > &ref)
pointeroperator= (T *ptr)
 pointer (const pointer< T > &ref)
 pointer (T *ptr=NULL)
void release (void)
void retain (void)
void set (const pointer< T > &ref)
void set (T *ptr)

Protected Attributes

unsigned * counter
T * object

Detailed Description

template<typename T>
class ucommon::pointer< T >

Generic smart pointer class.

This is the original Common C++ "Pointer" class with a few additions.

Author
David Sugar dyfet.nosp@m.@gnu.nosp@m.telep.nosp@m.hony.nosp@m..org

Definition at line 54 of file generics.h.

Constructor & Destructor Documentation

◆ pointer() [1/3]

template<typename T>
ucommon::pointer< T >::pointer ( )
inline

Definition at line 98 of file generics.h.

◆ pointer() [2/3]

template<typename T>
ucommon::pointer< T >::pointer ( T * ptr = NULL)
inlineexplicit

Definition at line 103 of file generics.h.

◆ pointer() [3/3]

template<typename T>
ucommon::pointer< T >::pointer ( const pointer< T > & ref)
inline

Definition at line 112 of file generics.h.

◆ ~pointer()

template<typename T>
ucommon::pointer< T >::~pointer ( )
inline

Definition at line 129 of file generics.h.

Member Function Documentation

◆ operator bool()

template<typename T>
ucommon::pointer< T >::operator bool ( ) const
inline

Definition at line 145 of file generics.h.

◆ operator!()

template<typename T>
bool ucommon::pointer< T >::operator! ( ) const
inline

Definition at line 141 of file generics.h.

◆ operator*()

template<typename T>
T & ucommon::pointer< T >::operator* ( ) const
inline

Definition at line 133 of file generics.h.

◆ operator->()

template<typename T>
T * ucommon::pointer< T >::operator-> ( ) const
inline

Definition at line 137 of file generics.h.

◆ operator=() [1/2]

template<typename T>
pointer & ucommon::pointer< T >::operator= ( const pointer< T > & ref)
inline

Definition at line 119 of file generics.h.

◆ operator=() [2/2]

template<typename T>
pointer & ucommon::pointer< T >::operator= ( T * ptr)
inline

Definition at line 124 of file generics.h.

◆ release()

template<typename T>
void ucommon::pointer< T >::release ( void )
inline

Definition at line 61 of file generics.h.

◆ retain()

template<typename T>
void ucommon::pointer< T >::retain ( void )
inline

Definition at line 70 of file generics.h.

◆ set() [1/2]

template<typename T>
void ucommon::pointer< T >::set ( const pointer< T > & ref)
inline

Definition at line 84 of file generics.h.

◆ set() [2/2]

template<typename T>
void ucommon::pointer< T >::set ( T * ptr)
inline

Definition at line 75 of file generics.h.

Field Documentation

◆ counter

template<typename T>
unsigned* ucommon::pointer< T >::counter
protected

Definition at line 57 of file generics.h.

◆ object

template<typename T>
T* ucommon::pointer< T >::object
protected

Definition at line 58 of file generics.h.


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