CbcPointer< Cbc > Class Template Reference

#include <AsyncJob.h>

Inheritance diagram for CbcPointer< Cbc >:
Collaboration diagram for CbcPointer< Cbc >:

Public Member Functions

 CbcPointer ()
 
 CbcPointer (Cbc *aCbc)
 
 CbcPointer (const CbcPointer &p)
 
 CbcPointer (CbcPointer &&)
 
 ~CbcPointer ()
 
Cbc * raw () const
 a temporary raw Cbc pointer; may be invalid More...
 
Cbc * get () const
 a temporary valid raw Cbc pointer or NULL More...
 
Cbc & operator* () const
 a valid Cbc reference or exception More...
 
Cbc * operator-> () const
 a valid Cbc pointer or exception More...
 
bool set () const
 was set but may be invalid More...
 
Cbc * valid () const
 was set and is valid More...
 
bool operator! () const
 invalid or was not set More...
 
bool operator== (const CbcPointer< Cbc > &o) const
 
CbcPointeroperator= (const CbcPointer &p)
 
CbcPointeroperator= (CbcPointer &&)
 
template<typename Other >
 CbcPointer (const CbcPointer< Other > &o)
 support converting a child cbc pointer into a parent cbc pointer More...
 
template<typename Other >
CbcPointeroperator= (const CbcPointer< Other > &o)
 support assigning a child cbc pointer to a parent cbc pointer More...
 
void clear ()
 make pointer not set; does not invalidate cbdata More...
 
std::ostream & print (std::ostream &os) const
 

Private Attributes

Cbc * cbc
 
void * lock
 

Detailed Description

template<class Cbc>
class CbcPointer< Cbc >

Safely points to a cbdata-protected class (cbc), such as an AsyncJob. When a cbc we communicate with disappears without notice or a notice has not reached us yet, this class prevents dereferencing the pointer to the gone cbc object.

Definition at line 17 of file AsyncJob.h.

Constructor & Destructor Documentation

template<class Cbc >
CbcPointer< Cbc >::CbcPointer ( )

Definition at line 86 of file CbcPointer.h.

template<class Cbc>
CbcPointer< Cbc >::CbcPointer ( Cbc *  aCbc)

Definition at line 91 of file CbcPointer.h.

References CbcPointer< Cbc >::cbc, cbdataReference, and CbcPointer< Cbc >::lock.

template<class Cbc>
CbcPointer< Cbc >::CbcPointer ( const CbcPointer< Cbc > &  p)

Definition at line 98 of file CbcPointer.h.

References cbdataReference, cbdataReferenceValid(), and CbcPointer< Cbc >::lock.

template<class Cbc>
CbcPointer< Cbc >::CbcPointer ( CbcPointer< Cbc > &&  d)

Definition at line 105 of file CbcPointer.h.

template<class Cbc >
CbcPointer< Cbc >::~CbcPointer ( )

Definition at line 112 of file CbcPointer.h.

template<class Cbc>
template<typename Other >
CbcPointer< Cbc >::CbcPointer ( const CbcPointer< Other > &  o)
inline

Definition at line 50 of file CbcPointer.h.

Member Function Documentation

template<class Cbc>
bool CbcPointer< Cbc >::operator! ( ) const
inline

Definition at line 42 of file CbcPointer.h.

template<class Cbc >
Cbc & CbcPointer< Cbc >::operator* ( ) const

Definition at line 169 of file CbcPointer.h.

References assert.

template<class Cbc >
Cbc * CbcPointer< Cbc >::operator-> ( ) const

Definition at line 178 of file CbcPointer.h.

References assert.

template<class Cbc >
CbcPointer< Cbc > & CbcPointer< Cbc >::operator= ( const CbcPointer< Cbc > &  p)
template<class Cbc >
CbcPointer< Cbc > & CbcPointer< Cbc >::operator= ( CbcPointer< Cbc > &&  d)

Definition at line 130 of file CbcPointer.h.

template<class Cbc>
template<typename Other >
CbcPointer& CbcPointer< Cbc >::operator= ( const CbcPointer< Other > &  o)
inline

Definition at line 57 of file CbcPointer.h.

template<class Cbc>
bool CbcPointer< Cbc >::operator== ( const CbcPointer< Cbc > &  o) const
inline

Definition at line 43 of file CbcPointer.h.

template<class Cbc >
std::ostream & CbcPointer< Cbc >::print ( std::ostream &  os) const

Definition at line 186 of file CbcPointer.h.

template<class Cbc >
Cbc * CbcPointer< Cbc >::raw ( ) const

Definition at line 155 of file CbcPointer.h.

Referenced by CbcPointer< Adaptation::Initiate >::operator=().

Member Data Documentation


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

 

Introduction

Documentation

Support

Miscellaneous

Web Site Translations

Mirrors