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_COLL_SET_CLASS_H
00026 #define _EYEDB_COLL_SET_CLASS_H
00027
00028 namespace eyedb {
00029
00038 class CollSetClass : public CollectionClass {
00039
00040
00041
00042
00043 public:
00044 static CollectionClass *make(Class *, Bool, int, Status &);
00045
00051 CollSetClass(Class *coll_class, Bool isref);
00052
00058 CollSetClass(Class *coll_class, int dim);
00059
00064 CollSetClass(const CollSetClass &cl);
00065
00071 CollSetClass& operator=(const CollSetClass &cl);
00072
00073 virtual const char *getPrefix() const {return "set";}
00074 virtual const char *getCSuffix() const {return "CollSet";}
00075
00080 virtual Object *clone() const {return new CollSetClass(*this);}
00081
00086 virtual CollSetClass *asCollSetClass() {return this;}
00087
00092 virtual const CollSetClass *asCollSetClass() const {return this;}
00093
00099 Object *newObj(Database *db = NULL) const;
00100
00107 Object *newObj(Data data, Bool copy = True) const;
00108
00109
00110
00111
00112 public:
00113 CollSetClass(const Oid&, const char *);
00114 };
00115
00116 class CollSetClassPtr : public CollectionClassPtr {
00117
00118 public:
00119 CollSetClassPtr(CollSetClass *o = 0) : CollectionClassPtr(o) { }
00120
00121 CollSetClass *getCollSetClass() {return dynamic_cast<CollSetClass *>(o);}
00122 const CollSetClass *getCollSetClass() const {return dynamic_cast<CollSetClass *>(o);}
00123
00124 CollSetClass *operator->() {return dynamic_cast<CollSetClass *>(o);}
00125 const CollSetClass *operator->() const {return dynamic_cast<CollSetClass *>(o);}
00126 };
00127
00128 typedef std::vector<CollSetClassPtr> CollSetClassPtrVector;
00129
00134 }
00135
00136 #endif