IColumn.hpp
1 #ifndef DM_ICOLUMN_HPP_INCLUDED
2 #define DM_ICOLUMN_HPP_INCLUDED
3 
4 #ifdef _MSC_VER
5  #pragma once
6 #endif
7 
8 #include "DM/config.hpp"
9 #include "DM/ColumnTypes.hpp"
10 #include "DM/Handle.hpp"
11 
12 DM_NAMESPACE_BEGIN
13 
14 class DM_API IColumn
15 {
16 public:
17  virtual ~IColumn() {}
18 
19  virtual bool isNull() const = 0;
20  virtual void setNull(bool nullFlag = true) = 0;
21 
22  virtual void setInt(int) = 0;
23  virtual void setUInt(unsigned int) = 0;
24 
25  virtual void setChar(char) = 0;
26  virtual void setUChar(unsigned char) = 0;
27 
28  virtual void setShort(short) = 0;
29  virtual void setUShort(unsigned short) = 0;
30 
31  virtual void setFloat(float) = 0;
32  virtual void setDouble(double) = 0;
33 
34  virtual void setLLong(long long) = 0;
35  virtual void setCStr(const char *) = 0;
36 
37 
38  virtual int getInt() const = 0;
39  virtual unsigned int getUInt() const = 0;
40 
41  virtual char getChar() const = 0;
42  virtual unsigned char getUChar() const = 0;
43 
44  virtual short getShort() const = 0;
45  virtual unsigned short getUShort() const = 0;
46 
47  virtual float getFloat() const = 0;
48  virtual double getDouble() const = 0;
49 
50  virtual long long getLLong() const = 0;
51  virtual const char* getCStr() const = 0;
52 };
53 
55 
56 
57 DM_NAMESPACE_END
58 
59 
60 #endif //DM_ICOLUMN_HPP_INCLUDED