cartobase 6.0.6
carto::WeakObject Class Reference

Base class for weakly referenced objects. More...

#include "cartobase/smart/weakobject.h"

Inheritance diagram for carto::WeakObject:

Public Member Functions

template<typename T>
void attachWeakPtr (weak_ptr< T > &) const
 
template<typename T>
void detachWeakPtr (weak_ptr< T > &) const
 
template<typename T>
void attachWeakPtr (weak_shared_ptr< T > &) const
 
template<typename T>
void detachWeakPtr (weak_shared_ptr< T > &) const
 
virtual ~WeakObject ()
 

Protected Member Functions

 WeakObject ()
 
 WeakObject (const WeakObject &)
 
WeakObjectoperator= (const WeakObject &)
 

Detailed Description

Base class for weakly referenced objects.

WeakObject implements a specialized observer/subject pattern where weak_ptr is the observer.

When destroyed, observers are notified and point to null

See also
rc_ptr weak_ptr

Definition at line 48 of file weakobject.h.

Constructor & Destructor Documentation

◆ ~WeakObject()

virtual carto::WeakObject::~WeakObject ( )
virtual

◆ WeakObject() [1/2]

carto::WeakObject::WeakObject ( )
protected

Referenced by operator=(), and WeakObject().

◆ WeakObject() [2/2]

carto::WeakObject::WeakObject ( const WeakObject & )
protected

References WeakObject().

Member Function Documentation

◆ attachWeakPtr() [1/2]

template<typename T>
void carto::WeakObject::attachWeakPtr ( weak_ptr< T > & ptr) const
inline

Definition at line 83 of file weakobject.h.

References attachWeakPtr().

Referenced by attachWeakPtr(), and attachWeakPtr().

◆ attachWeakPtr() [2/2]

template<typename T>
void carto::WeakObject::attachWeakPtr ( weak_shared_ptr< T > & ptr) const
inline

Definition at line 99 of file weakobject.h.

References attachWeakPtr().

◆ detachWeakPtr() [1/2]

template<typename T>
void carto::WeakObject::detachWeakPtr ( weak_ptr< T > & ptr) const
inline

Definition at line 91 of file weakobject.h.

References detachWeakPtr().

Referenced by detachWeakPtr(), detachWeakPtr(), and carto::weak_ptr< WeakObject >::release().

◆ detachWeakPtr() [2/2]

template<typename T>
void carto::WeakObject::detachWeakPtr ( weak_shared_ptr< T > & ptr) const
inline

Definition at line 107 of file weakobject.h.

References detachWeakPtr().

◆ operator=()

WeakObject & carto::WeakObject::operator= ( const WeakObject & )
protected

References WeakObject().


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