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