00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef _datarow_h
00018 #define _datarow_h
00019
00020 #include <spl/data/DataColumn.h>
00021 #include <spl/Memory.h>
00022 #include <spl/RefCountPtr.h>
00023 #include <spl/Variant.h>
00024 #include <spl/collection/Vector.h>
00025
00032 class DataRow;
00033 typedef RefCountPtr<DataRow> DataRowPtr;
00034
00038 class DataRow : public IMemoryValidate
00039 {
00040 private:
00041 Vector<VariantPtr> m_cols;
00042
00043 public:
00044 DataRow();
00045 DataRow(const DataRow& dr);
00046 DataRow(const Vector<DataColumnPtr>& columns);
00047 virtual ~DataRow();
00048
00049 DataRow& operator =(const DataRow& dt);
00050
00051 inline int Count() const { return m_cols.Count(); }
00052
00053 inline VariantPtr Cell(int colNum) const { return m_cols.ElementAt(colNum); }
00054
00055 void AddColumn(const DataColumn& col);
00056 void AddColumn(const DataColumn& col, const Variant& data);
00057
00058 #if defined(DEBUG)
00059 virtual void CheckMem() const;
00060 virtual void ValidateMem() const;
00061 #endif
00062 };
00063
00066 #endif