00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #ifndef _EYEDB_INT16_H
00026 #define _EYEDB_INT16_H
00027
00028 namespace eyedb {
00029
00038 class Int16 : public Basic {
00039
00040
00041
00042
00043 public:
00048 Int16(eyedblib::int16 i = 0);
00049
00056 Int16(Database *db, eyedblib::int16 i = 0, const Dataspace *dataspace = 0);
00057
00062 Int16(const Int16 *o);
00063
00068 Int16(const Int16 &o);
00069
00074 virtual Object *clone() const {return new Int16(*this);}
00075
00081 Int16& operator=(const Int16 &o);
00082
00090 Status trace(FILE *fd = stdout, unsigned int flags = 0, const RecMode *recmode = RecMode::FullRecurs) const;
00091
00097 Status setValue(Data data);
00098
00104 Status getValue(Data *data) const;
00105
00110 virtual Int16 *asInt16() {return this;}
00111
00116 virtual const Int16 *asInt16() const {return this;}
00117
00118
00119
00120
00121 private:
00122 Status trace_realize(FILE*, int, unsigned int, const RecMode *) const;
00123 eyedblib::int16 val;
00124 Status create();
00125 Status update();
00126 };
00127
00128 class Int16Ptr : public BasicPtr {
00129
00130 public:
00131 Int16Ptr(Int16 *o = 0) : BasicPtr(o) { }
00132
00133 Int16 *getInt16() {return dynamic_cast<Int16 *>(o);}
00134 const Int16 *getInt16() const {return dynamic_cast<Int16 *>(o);}
00135
00136 Int16 *operator->() {return dynamic_cast<Int16 *>(o);}
00137 const Int16 *operator->() const {return dynamic_cast<Int16 *>(o);}
00138 };
00139
00140 typedef std::vector<Int16Ptr> Int16PtrVector;
00141
00142 extern Int16Class *Int16_Class;
00143 extern const char int16_class_name[];
00144
00149 }
00150
00151 #endif