UCommon
ucommon::array_pointer< T > Class Template Reference

Generic smart array class. More...

#include <generics.h>

Public Member Functions

 array_pointer (const array_pointer< T > &ref)
 
 array_pointer (T *ptr=NULL)
 
 operator bool () const
 
bool operator! () const
 
T * operator() (size_t offset) const
 
T * operator* () const
 
array_pointeroperator= (const array_pointer< T > &ref)
 
array_pointeroperator= (T *ptr)
 
T & operator[] (size_t offset) const
 
void release (void)
 
void retain (void)
 
void set (const array_pointer< T > &ref)
 
void set (T *ptr)
 

Protected Attributes

T * array
 
unsigned * counter
 

Detailed Description

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

Generic smart array class.

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

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

Definition at line 156 of file generics.h.

Constructor & Destructor Documentation

◆ array_pointer() [1/3]

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

Definition at line 200 of file generics.h.

◆ array_pointer() [2/3]

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

Definition at line 205 of file generics.h.

◆ array_pointer() [3/3]

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

Definition at line 214 of file generics.h.

◆ ~array_pointer()

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

Definition at line 231 of file generics.h.

Member Function Documentation

◆ operator bool()

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

Definition at line 251 of file generics.h.

◆ operator!()

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

Definition at line 247 of file generics.h.

◆ operator()()

template<typename T >
T * ucommon::array_pointer< T >::operator() ( size_t offset) const
inline

Definition at line 243 of file generics.h.

◆ operator*()

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

Definition at line 235 of file generics.h.

◆ operator=() [1/2]

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

Definition at line 221 of file generics.h.

◆ operator=() [2/2]

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

Definition at line 226 of file generics.h.

◆ operator[]()

template<typename T >
T & ucommon::array_pointer< T >::operator[] ( size_t offset) const
inline

Definition at line 239 of file generics.h.

◆ release()

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

Definition at line 163 of file generics.h.

◆ retain()

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

Definition at line 172 of file generics.h.

◆ set() [1/2]

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

Definition at line 186 of file generics.h.

◆ set() [2/2]

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

Definition at line 177 of file generics.h.

Field Documentation

◆ array

template<typename T >
T* ucommon::array_pointer< T >::array
protected

Definition at line 160 of file generics.h.

◆ counter

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

Definition at line 159 of file generics.h.


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