00001 #ifndef _CTBfallible_HXX 00002 #define _CTBfallible_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 #include "CTBfallibleBase.hxx" 00017 00018 template <class T> 00019 class CTBfallible : public CTBfallibleBase { 00020 public: 00021 CTBfallible(); 00022 CTBfallible(const T& value); 00023 00024 T ElseDefaultTo(const T& default_value); 00025 00026 operator T() const; 00027 00028 private: 00029 T m_value; 00030 }; 00031 00032 #include "CTBfallible.icc" 00033 00034 #endif