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