00001 00006 /*----------------------------------------------------------------------------*/ 00007 /* C Tool Box: Designed and implemented by: */ 00008 /* Walter F.J. Mueller Gesellschaft fuer Schwerionenforschung (GSI) */ 00009 /* Planckstrasse 1, D-64291 Darmstadt, Germany */ 00010 /* Email: W.F.J.Mueller@gsi.de */ 00011 /* WWW: http://www-kp3.gsi.de/www/kp3/people/mueller.html */ 00012 /*----------------------------------------------------------------------------*/ 00013 00014 //------------------------------------------+----------------------------------- 00016 00017 inline CTBtraceCounter::CTBtraceCounter() 00018 : mc_text(""), 00019 mb_autoprint(false), 00020 mi_cnt(0) 00021 {} 00022 00023 //------------------------------------------+----------------------------------- 00025 00030 inline CTBtraceCounter::CTBtraceCounter(const char* c_text, bool b_print) 00031 : mc_text(c_text), 00032 mb_autoprint(b_print), 00033 mi_cnt(0) 00034 {} 00035 00036 //------------------------------------------+----------------------------------- 00038 00039 inline CTBtraceCounter& CTBtraceCounter::operator=(CTBint i_cnt) 00040 { 00041 mi_cnt = i_cnt; 00042 return *this; 00043 } 00044 00045 //------------------------------------------+----------------------------------- 00047 00048 inline CTBtraceCounter& CTBtraceCounter::operator+=(CTBint i_cnt) 00049 { 00050 mi_cnt += i_cnt; 00051 return *this; 00052 } 00053 00054 //------------------------------------------+----------------------------------- 00056 00057 inline CTBtraceCounter& CTBtraceCounter::operator++() 00058 { 00059 mi_cnt += 1; 00060 return *this; 00061 } 00062 00063 //------------------------------------------+----------------------------------- 00065 00066 inline CTBtraceCounter& CTBtraceCounter::operator++(int) 00067 { 00068 mi_cnt += 1; 00069 return *this; 00070 } 00071 00072 //------------------------------------------+----------------------------------- 00074 00075 inline CTBtraceCounter::operator CTBint() 00076 { 00077 return mi_cnt; 00078 } 00079 00080 //------------------------------------------+----------------------------------- 00086 inline ostream& operator<<(ostream& os, const CTBtraceCounter& obj) 00087 { 00088 obj.ToStream(os); 00089 return os; 00090 }