Main Page   Modules   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members   Related Pages   Examples  

CTBcallbackBase.icc

Go to the documentation of this file.
00001 
00007 /*----------------------------------------------------------------------------*/
00008 /* C Tool Box: Designed and implemented by:                                   */
00009 /*    Walter F.J. Mueller   Gesellschaft fuer Schwerionenforschung (GSI)      */
00010 /*                          Planckstrasse 1, D-64291 Darmstadt, Germany       */
00011 /*                  Email:  W.F.J.Mueller@gsi.de                              */
00012 /*                  WWW:    http://www-kp3.gsi.de/www/kp3/people/mueller.html */
00013 /*------------------------------------------+---------------------------------*/
00014 
00015 //------------------------------------------+-----------------------------------
00017 
00018 inline CTBcallbackSourceBase::CTBcallbackSourceBase()
00019   : m_shead()
00020 {}
00021 
00022 //------------------------------------------+-----------------------------------
00024 
00025 inline CTBcallbackSourceBase::CTBcallbackSourceBase(
00026     const CTBcallbackSourceBase&)
00027   : m_shead()
00028 {}
00029 
00030 //------------------------------------------+-----------------------------------
00032 
00033 inline CTBcallbackSourceBase& CTBcallbackSourceBase::operator=(
00034     const CTBcallbackSourceBase&)
00035 {
00036   return *this;
00037 }
00038 
00039 //------------------------------------------+-----------------------------------
00041 
00042 inline bool CTBcallbackSourceBase::operator! () const
00043 {
00044   return !m_shead;
00045 }
00046 
00047 //------------------------------------------+-----------------------------------
00049 
00050 inline CTBcallbackSourceBase::operator bool () const
00051 {
00052   return m_shead;
00053 }
00054 
00055 //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
00057 
00058 inline CTBcallbackTargetBase::CTBcallbackTargetBase()
00059   : m_thead()
00060 {}
00061 
00062 //------------------------------------------+-----------------------------------
00064 
00065 inline CTBcallbackTargetBase::CTBcallbackTargetBase(
00066     const CTBcallbackTargetBase& rhs)
00067   : m_thead()
00068 {
00069   operator=(rhs);
00070 }
00071 
00072 //------------------------------------------+-----------------------------------
00074 
00075 inline bool CTBcallbackTargetBase::operator! () const
00076 {
00077   return !m_thead;
00078 }
00079 
00080 //------------------------------------------+-----------------------------------
00082 
00083 inline CTBcallbackTargetBase::operator bool () const
00084 {
00085   return m_thead;
00086 }
00087 
00088 //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
00089 
00090 //------------------------------------------+-----------------------------------
00092 
00093 inline void CTBcallbackLink::Mark()
00094 {
00095   mi_nbusy += 1;
00096   return;
00097 }
00098 
00099 //------------------------------------------+-----------------------------------
00101 
00102 inline void CTBcallbackLink::Unmark()
00103 {
00104   mi_nbusy -= 1;
00105   return;
00106 }
00107 
00108 //------------------------------------------+-----------------------------------
00110 
00111 inline bool CTBcallbackLink::Busy() const
00112 {
00113   return mi_nbusy > 0;
00114 }
00115 
00116 
00117 //------------------------------------------+-----------------------------------
00119 
00120 inline bool CTBcallbackLink::Zombie() const
00121 {
00122   return !m_slink || !m_tlink;
00123 }
00124 
00125 //------------------------------------------+-----------------------------------
00127 
00128 inline bool CTBcallbackLink::Deletable() const
00129 {
00130   return Zombie() && !Busy();
00131 }
00132 
00133 //------------------------------------------+-----------------------------------
00135 
00136 inline void CTBcallbackLink::UnlinkSource()
00137 {
00138   if (m_slink) m_slink.Remove(&CTBcallbackLink::m_slink);
00139   return;
00140 }
00141 
00142 //------------------------------------------+-----------------------------------
00144 
00145 inline void CTBcallbackLink::UnlinkTarget()
00146 {
00147   if (m_tlink) m_tlink.Remove(&CTBcallbackLink::m_tlink,
00148                               &CTBcallbackTargetBase::m_thead);
00149   return;
00150 }
00151 

Generated at Fri Oct 24 18:11:27 2003 for CTBbase by doxygen1.2.9-20010812 written by Dimitri van Heesch, © 1997-2001