00001 #ifndef _CTBexceptionIndexRange_HXX 00002 #define _CTBexceptionIndexRange_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 "CTBexception.hxx" 00017 #include "CTBrange.hxx" 00018 00019 class CTBexceptionIndexRange : public CTBexception { 00020 00021 public: 00022 CTBexceptionIndexRange(); 00023 explicit CTBexceptionIndexRange(CTBint i_index); 00024 CTBexceptionIndexRange(CTBint i_index, CTBint i_limit); 00025 CTBexceptionIndexRange(CTBint i_index, CTBint i_limit, 00026 const char* c_module); 00027 00028 CTBint Index() const; 00029 CTBint Limit() const; 00030 00031 virtual void ToStream(ostream& os) const; 00032 00033 protected: 00034 00035 CTBint mi_index; 00036 CTBint mi_limit; 00037 }; 00038 00039 void CTBindexRangeCheck(CTBint i_ind, CTBint i_limit, const char* c_module=0); 00040 void CTBindexRangeCheck(const CTBrange& ran, CTBint i_limit, 00041 const char* c_module=0); 00042 00043 #if !(defined(CTB__OutLine) || defined(CTBexceptionIndexRange__OutLine)) 00044 #include "CTBexceptionIndexRange.icc" 00045 #endif 00046 00047 #endif