#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); inline int contains( item); inline void clear(); inline Pix first(); inline void next(Pix& i); inline & operator () (Pix i); inline 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