00001 #ifndef _CTBfallibleBase_HXX 00002 #define _CTBfallibleBase_HXX 1 00003 00008 /*----------------------------------------------------------------------------*/ 00009 /* C Tool Box: Designed and implemented by: */ 00010 /* Walter F.J. Mueller Gesellschaft fuer Schwerionenforschung (GSI) */ 00011 /* Planckstrasse 1, D-64291 Darmstadt, Germany */ 00012 /* Email: W.F.J.Mueller@gsi.de */ 00013 /* WWW: http://www-kp3.gsi.de/www/kp3/people/mueller.html */ 00014 /*------------------------------------------+---------------------------------*/ 00015 00016 class CTBfallibleBase { 00017 public: 00018 CTBfallibleBase(bool b_valid = false); 00019 00020 bool Failed() const; 00021 bool Valid() const; 00022 00023 void Invalidate(); 00024 00025 protected: 00026 void ThrowError() const; 00027 00028 private: 00029 bool mb_valid; 00030 }; 00031 00032 #include "CTBfallibleBase.icc" 00033 00034 #endif