/search.css" rel="stylesheet" type="text/css"/> /search.js">
00001 #ifndef DBIOUTROWSTREAM_H 00002 #define DBIOUTROWSTREAM_H 00003 00026 #include <string> 00027 00028 #include "DatabaseInterface/Dbi.h" 00029 #include "DatabaseInterface/DbiRowStream.h" 00030 00031 class DbiTableMetaData; 00032 class TimeStamp; 00033 class DbiValidityRec; 00034 00035 class DbiOutRowStream : public DbiRowStream 00036 { 00037 00038 friend class DbiConfigSet; //To allow it to use private Store method 00039 00040 public: 00041 00042 // Constructors and destructors. 00043 DbiOutRowStream(const DbiTableMetaData* metaData); 00044 virtual ~DbiOutRowStream(); 00045 00046 // State testing member functions 00047 Bool_t HasGoodData() const { return ! fBadData && IsComplete(); } 00048 const string& GetCSV() const { return fCSV; } 00049 Bool_t IsComplete() const { return CurColNum() == NumCols()+1; } 00050 00051 // State changing member functions 00052 00053 DbiOutRowStream& operator<<(Bool_t src); 00054 DbiOutRowStream& operator<<(Char_t src); 00055 DbiOutRowStream& operator<<(const Char_t* src); 00056 DbiOutRowStream& operator<<(Short_t src); 00057 DbiOutRowStream& operator<<(UShort_t src); 00058 DbiOutRowStream& operator<<(Int_t src); 00059 DbiOutRowStream& operator<<(UInt_t src); 00060 /* DbiOutRowStream& operator<<(Long_t& src); */ 00061 /* DbiOutRowStream& operator<<(ULong_t& src); */ 00062 DbiOutRowStream& operator<<(Float_t src); 00063 DbiOutRowStream& operator<<(Double_t src); 00064 DbiOutRowStream& operator<<(const string& src); 00065 DbiOutRowStream& operator<<(const TimeStamp& src); 00066 00067 void Clear() { fBadData = kFALSE; fCSV.erase(); ClearCurCol();} 00068 00069 private: 00070 00071 // State testing member functions 00072 00073 // State changing member functions 00074 void Store(const string& str); 00075 Bool_t StoreDefaultIfInvalid(Dbi::DataTypes type); 00076 00077 // Data members 00078 00080 Bool_t fBadData; 00081 00083 string fCSV; 00084 00085 // Removed: ClassDef(DbiOutRowStream,0) //Output stream for single table row 00086 00087 }; 00088 00089 00090 #endif // DBIOUTROWSTREAM_H