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_LIST_CLASS_H
00026 #define _EYEDB_COLL_LIST_CLASS_H
00027
00028 namespace eyedb {
00029
00038 class CollListClass : public CollectionClass {
00039
00040
00041
00042
00043 public:
00044 static CollectionClass *make(Class *, Bool, int, Status &);
00045
00051 CollListClass(Class *coll_class, Bool isref);
00052
00058 CollListClass(Class *coll_class, int dim);
00059
00064 CollListClass(const CollListClass &cl);
00065
00071 CollListClass& operator=(const CollListClass &cl);
00072
00077 virtual const char *getPrefix() const {return "list";}
00078
00083 virtual const char *getCSuffix() const {return "CollList";}
00084
00089 virtual Object *clone() const {return new CollListClass(*this);}
00090
00095 virtual CollListClass *asCollListClass() {return this;}
00096
00101 virtual const CollListClass *asCollListClass() const {return this;}
00102
00108 Object *newObj(Database *db = NULL) const;
00109
00116 Object *newObj(Data data, Bool copy = True) const;
00117
00118
00119
00120
00121 public:
00122 CollListClass(const Oid&, const char *);
00123 };
00124
00125 class CollListClassPtr : public CollectionClassPtr {
00126
00127 public:
00128 CollListClassPtr(CollListClass *o = 0) : CollectionClassPtr(o) { }
00129
00130 CollListClass *getCollListClass() {return dynamic_cast<CollListClass *>(o);}
00131 const CollListClass *getCollListClass() const {return dynamic_cast<CollListClass *>(o);}
00132
00133 CollListClass *operator->() {return dynamic_cast<CollListClass *>(o);}
00134 const CollListClass *operator->() const {return dynamic_cast<CollListClass *>(o);}
00135 };
00136
00137 typedef std::vector<CollListClassPtr> CollListClassPtrVector;
00138
00143 }
00144
00145 #endif
00146