home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 10 Tools
/
10-Tools.zip
/
cset21v1.zip
/
IBMCPP
/
IBMCLASS
/
IASRTMAP.H
< prev
next >
Wrap
Text File
|
1993-09-22
|
3KB
|
77 lines
/*******************************************************************************
* *
* COPYRIGHT: *
* IBM C/C++ Tools Version 2.01 - Collection Class Library *
* Licensed Materials - Property of IBM *
* (C) Copyright IBM Corporation 1992, 1993 *
* All Rights Reserved *
* US Government Users Restricted Rights - Use, duplication, or disclosure *
* restricted by GSA ADP Schedule Contract with IBM Corp. *
* *
*******************************************************************************/
#ifndef _IASRTMAP_H
#define _IASRTMAP_H
#include <iglobals.h>
#include <icursor.h>
#include <iaeqksrt.h>
template < class Element, class Key >
class IASortedMap :
public virtual IAEqualityKeySortedCollection < Element, Key > {
public:
virtual IBoolean operator == (IASortedMap < Element, Key > const&) const;
virtual IBoolean operator != (IASortedMap < Element, Key > const&) const;
virtual void unionWith (IASortedMap < Element, Key > const&) = 0;
virtual void intersectionWith (IASortedMap < Element, Key > const&) = 0;
virtual void differenceWith (IASortedMap < Element, Key > const&) = 0;
virtual void addUnion (IASortedMap < Element, Key > const&,
IASortedMap < Element, Key > const&) = 0;
virtual void addIntersection (IASortedMap < Element, Key > const&,
IASortedMap < Element, Key > const&) = 0;
virtual void addDifference (IASortedMap < Element, Key > const&,
IASortedMap < Element, Key > const&) = 0;
virtual long compare (IASortedMap < Element, Key > const&,
long (*comparisonFunction)
(Element const&,
Element const&)) const;
protected:
INumber numberOfOccurrences (Element const&) const;
IBoolean locateNext (Element const&, ICursor&)
const;
INumber removeAllOccurrences (Element const&);
INumber numberOfElementsWithKey (Key const&) const;
IBoolean locateNextElementWithKey (Key const&,
ICursor&) const;
INumber removeAllElementsWithKey (Key const&);
INumber numberOfDifferentKeys () const;
IBoolean setToNextWithDifferentKey (ICursor&) const;
};
#ifdef __IBMCPP__
#ifndef __TEMPINC__
#include <iasrtmap.c>
#endif
#endif
#endif