00001 // $Id: TDbiString.cxx,v 1.1 2011/01/18 05:49:20 finch Exp $ 00002 00003 #include <sstream> 00004 00005 #include "TDbiString.hxx" 00006 #include <TSK_DBI_Log.hxx> 00007 #include <MsgFormat.h> 00008 using std::endl; 00009 00010 ClassImp(TDbiString) 00011 00012 00013 // Definition of static data members 00014 // ********************************* 00015 00016 00017 // Definition of member functions (alphabetical order) 00018 // *************************************************** 00019 00020 //..................................................................... 00021 00022 TDbiString::TDbiString() 00023 { 00024 // 00025 // 00026 // Purpose: Default constructor 00027 // 00028 // Arguments: None. 00029 // 00030 // Return: n/a 00031 // 00032 // Contact: N. West 00033 // 00034 // Specification:- 00035 // ============= 00036 // 00037 // o Create TDbiString. 00038 00039 00040 // Program Notes:- 00041 // ============= 00042 00043 // None. 00044 00045 00046 SK_DBI_Trace( "Creating TDbiString" << " "); 00047 00048 } 00049 00050 //..................................................................... 00051 00052 TDbiString::TDbiString(const Char_t* str) : 00053 fString(str) 00054 { 00055 // 00056 // 00057 // Purpose: Constructor from Char_t*. 00058 // 00059 // Arguments: 00060 // str in Initial string. 00061 // 00062 // Return: n/a 00063 // 00064 // Contact: N. West 00065 // 00066 // Specification:- 00067 // ============= 00068 // 00069 // o Create TDbiString. 00070 00071 00072 // Program Notes:- 00073 // ============= 00074 00075 // None. 00076 00077 00078 SK_DBI_Trace( "Creating TDbiString" << " "); 00079 00080 } 00081 00082 //..................................................................... 00083 00084 TDbiString::TDbiString(const std::string& str) : 00085 fString(str) 00086 { 00087 // 00088 // 00089 // Purpose: Constructor from string. 00090 // 00091 // Arguments: 00092 // str in Initial string. 00093 // 00094 // Return: n/a 00095 // 00096 // Contact: N. West 00097 // 00098 // Specification:- 00099 // ============= 00100 // 00101 // o Create TDbiString. 00102 00103 00104 // Program Notes:- 00105 // ============= 00106 00107 // None. 00108 00109 00110 SK_DBI_Trace( "Creating TDbiString" << " "); 00111 00112 } 00113 00114 //..................................................................... 00115 00116 TDbiString::~TDbiString() { 00117 // 00118 // 00119 // Purpose: Destructor 00120 // 00121 // Arguments: 00122 // None. 00123 // 00124 // Return: n/a 00125 // 00126 // Contact: N. West 00127 // 00128 // Specification:- 00129 // ============= 00130 // 00131 // o Destroy TDbiString 00132 00133 00134 // Program Notes:- 00135 // ============= 00136 00137 // None. 00138 00139 00140 SK_DBI_Trace( "Destroying TDbiString" << " "); 00141 00142 } 00143 00144 #define OUT(t,v) \ 00145 ostringstream out; \ 00146 out << v; \ 00147 fString.append(out.str()); \ 00148 return *this; 00149 00150 00151 TDbiString& TDbiString::operator<<(Int_t data) { OUT(Int_t,data) } 00152 TDbiString& TDbiString::operator<<(UInt_t data) { OUT(UInt_t,data) } 00153 TDbiString& TDbiString::operator<<(Float_t data) { OUT(Float_t,data) } 00154 TDbiString& TDbiString::operator<<(Char_t data) { 00155 fString.append(1,data); return *this; } 00156 TDbiString& TDbiString::operator<<(const Char_t* data) { 00157 fString.append(data); return *this; } 00158 TDbiString& TDbiString::operator<<(const std::string& data) { 00159 fString.append(data); return *this; } 00160 00161