#ifndef _OXPBag_h #ifdef __GNUG__ #pragma interface #endif #define _OXPBag_h 1 #include ".Bag.h" #include ".XPlex.h" class OXPBag : public Bag { protected: XPlex p; public: OXPBag(int chunksize = DEFAULT_INITIAL_CAPACITY); OXPBag(const OXPBag&); Pix add( item); void del( item); #undef remove void remove(item); int nof( item); int contains( item); void clear(); Pix first(); void next(Pix& i); & operator () (Pix i); int owns(Pix i); Pix seek( item, Pix from = 0); int OK(); }; inline OXPBag::OXPBag(int chunksize) : p(chunksize) { count = 0; } inline OXPBag::OXPBag(const OXPBag& s) : p(s.p) { count = s.count; } inline Pix OXPBag::first() { return p.first(); } inline void OXPBag::next(Pix & idx) { p.next(idx); } inline & OXPBag::operator ()(Pix idx) { return p(idx); } inline void OXPBag::clear() { count = 0; p.clear(); } inline int OXPBag::owns (Pix idx) { return p.owns(idx); } inline int OXPBag::contains( item) { return seek(item) != 0; } #endif