Zipios++
Public Member Functions | Friends | List of all members
zipios::ReferenceCount< Type > Class Template Reference

ReferenceCount is useful to ensure proper handling of the reference count for (objects of) classes handled through a SimpleSmartPointer. More...

#include <simplesmartptr.h>

Public Member Functions

 ReferenceCount ()
 Constructor intializes count to zero.
 
 ReferenceCount (const ReferenceCount &src)
 Copy-constructor intializes count to zero.
 
const ReferenceCountoperator= (const ReferenceCount &src)
 The assignment operator doesn't copy the reference count, it leaves it unchanged.
 

Friends

class SimpleSmartPointer< Type >
 SimpleSmartPointer needs to be a friend to invoke the private ref() and unref() methods.
 
class SimpleSmartPointer< const Type >
 
class FileEntry
 Type also needs to be a friend to invoke the private ref() and unref() methods, in case Type doesn't want to inherit ReferenceCount and thus needs to invoke ref() and unref() through forwarding member functions.
 
class Bogus
 

Detailed Description

template<class Type>
class zipios::ReferenceCount< Type >

ReferenceCount is useful to ensure proper handling of the reference count for (objects of) classes handled through a SimpleSmartPointer.

Subclassing ReferenceCount is all a class needs to become ready for being handled by SimpleSmartPointer. Another way is to add a ReferenceCount member variable to a class and write two methods 'void ref() const' and 'unsigned int unref() const' that invoke the same methods in the ReferenceCount variable.

Definition at line 99 of file simplesmartptr.h.

Constructor & Destructor Documentation

◆ ReferenceCount() [1/2]

template<class Type >
zipios::ReferenceCount< Type >::ReferenceCount ( )
inline

Constructor intializes count to zero.

Definition at line 122 of file simplesmartptr.h.

◆ ReferenceCount() [2/2]

template<class Type >
zipios::ReferenceCount< Type >::ReferenceCount ( const ReferenceCount< Type > &  src)
inline

Copy-constructor intializes count to zero.

It doesn't copy it from src.

Definition at line 126 of file simplesmartptr.h.

Member Function Documentation

◆ operator=()

template<class Type >
const ReferenceCount & zipios::ReferenceCount< Type >::operator= ( const ReferenceCount< Type > &  src)
inline

The assignment operator doesn't copy the reference count, it leaves it unchanged.


Definition at line 130 of file simplesmartptr.h.

Friends And Related Symbol Documentation

◆ Bogus

template<class Type >
friend class Bogus
friend

Definition at line 118 of file simplesmartptr.h.

◆ FileEntry

template<class Type >
friend class FileEntry
friend

Type also needs to be a friend to invoke the private ref() and unref() methods, in case Type doesn't want to inherit ReferenceCount and thus needs to invoke ref() and unref() through forwarding member functions.

Definition at line 117 of file simplesmartptr.h.

◆ SimpleSmartPointer< const Type >

template<class Type >
friend class SimpleSmartPointer< const Type >
friend

Definition at line 86 of file simplesmartptr.h.

◆ SimpleSmartPointer< Type >

template<class Type >
friend class SimpleSmartPointer< Type >
friend

SimpleSmartPointer needs to be a friend to invoke the private ref() and unref() methods.


Definition at line 86 of file simplesmartptr.h.


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