home *** CD-ROM | disk | FTP | other *** search
- /* Copyright (c) IBM Corp. 1992 */
- template <class Element, class ElementOps, class Base>
- Boolean IWBagOnKSSet <Element, ElementOps, Base>::Cursor::setToFirst ()
- { occurrence = 1;
- return ivCollection->setToFirst (*this);
- }
-
- template <class Element, class ElementOps, class Base>
- Boolean IWBagOnKSSet <Element, ElementOps, Base>::Cursor::setToNext ()
- { if (occurrence == Base::Cursor::element().occurrences) {
- occurrence = 1;
- return Base::Cursor::setToNext ();
- }
- else {
- occurrence++;
- return True;
- }
- }
-
- template <class Element, class ElementOps, class Base>
- Boolean IWBagOnKSSet <Element, ElementOps, Base>::
- removePredicate (IBKSElm < Element > const& element, void* env)
- { RemoveEnv* re = (RemoveEnv*)env;
- re->removeCount += element.occurrences;
- return (*re->predicate) (element.elem, re->env);
- }
-
- template <class Element, class ElementOps, class Base>
- Boolean IWBagOnKSSet <Element, ElementOps, Base>::
- cleanupPredicate (IBKSElm < Element > const& element, void* env)
- { return element.occurrences == 0;
- }
-
- template <class Element, class ElementOps, class Base>
- ElementOps IWBagOnKSSet <Element, ElementOps, Base>::
- cvElementOps;