ucommon  7.0.0
About: GNU uCommon C++ is a portable and optimized class framework for writing C++ applications that need to use threads and support concurrent synchronization, and that use sockets, XML parsing, object serialization, thread-optimized string and data structure classes, etc..
  Fossies Dox: ucommon-7.0.0.tar.gz  ("unofficial" and yet experimental doxygen-generated source code documentation)  

Loading...
Searching...
No Matches
ucommon::pointer< T > Class Template Reference

Generic smart pointer class. More...

#include <generics.h>

Public Member Functions

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

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.

References ucommon::pointer< T >::counter, and ucommon::pointer< T >::object.

◆ ~pointer()

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

Definition at line 129 of file generics.h.

References ucommon::pointer< T >::release().

Here is the call graph for this function:

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.

References ucommon::pointer< T >::object.

◆ operator->()

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

Definition at line 137 of file generics.h.

References ucommon::pointer< T >::object.

◆ operator=() [1/2]

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

Definition at line 119 of file generics.h.

References ucommon::pointer< T >::set().

Here is the call graph for this function:

◆ operator=() [2/2]

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

Definition at line 124 of file generics.h.

References ucommon::pointer< T >::set().

Here is the call graph for this function:

◆ release()

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

◆ retain()

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

Definition at line 70 of file generics.h.

References ucommon::pointer< T >::counter.

◆ set() [1/2]

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

Definition at line 84 of file generics.h.

References ucommon::pointer< T >::counter, and ucommon::pointer< T >::object.

◆ set() [2/2]

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

Definition at line 75 of file generics.h.

References ucommon::pointer< T >::release().

Referenced by ucommon::pointer< T >::operator=().

Here is the call graph for this function:

Member Data Documentation

◆ counter

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

◆ object


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