home *** CD-ROM | disk | FTP | other *** search
- /* Copyright (c) IBM Corp. 1992 */
-
- #ifndef _IASET_H
- #define _IASET_H
-
- #include <iglobals.h>
- #include <icursor.h>
- #include <iaequal.h>
-
- template < class Element >
- class IASet : public virtual IAEqualityCollection < Element > {
- public:
-
- virtual Boolean operator == (IASet < Element > const&) const;
-
- virtual Boolean operator != (IASet < Element > const&) const;
-
- virtual void unionWith (IASet < Element > const&);
-
- virtual void intersectionWith (IASet < Element > const&);
-
- virtual void differenceWith (IASet < Element > const&);
-
- virtual void addUnion (IASet < Element > const&,
- IASet < Element > const&);
-
- virtual void addIntersection (IASet < Element > const&,
- IASet < Element > const&);
-
- virtual void addDifference (IASet < Element > const&,
- IASet < Element > const&);
-
- protected:
-
- INumber numberOfOccurrences (Element const&) const;
-
- Boolean locateNext (Element const&, ICursor&)
- const;
-
- INumber removeAllOccurrences (Element const&);
-
- INumber numberOfDifferentElements () const;
-
- Boolean setToNextDifferentElement (ICursor&) const;
-
- };
-
- #ifdef __IBMCPP__
- #include <iaset.c>
- #endif
-
- #endif