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: