home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / cset21v1.zip / IBMCPP / IBMCLASS / IAKSSET.H < prev    next >
Text File  |  1993-09-22  |  2KB  |  51 lines

  1. /*******************************************************************************
  2. *                                                                              *
  3. * COPYRIGHT:                                                                   *
  4. *   IBM C/C++ Tools Version 2.01 - Collection Class Library                    *
  5. *   Licensed Materials - Property of IBM                                       *
  6. *   (C) Copyright IBM Corporation 1992, 1993                                   *
  7. *   All Rights Reserved                                                        *
  8. *   US Government Users Restricted Rights - Use, duplication, or disclosure    *
  9. *   restricted by GSA ADP Schedule Contract with IBM Corp.                     *
  10. *                                                                              *
  11. *******************************************************************************/
  12. #ifndef _IAKSSET_H
  13. #define _IAKSSET_H
  14.  
  15. #include <iglobals.h>
  16. #include <icursor.h>
  17. #include <iaksrt.h>
  18.  
  19. template < class Element, class Key >
  20. class IAKeySortedSet :
  21.   public virtual IAKeySortedCollection < Element, Key > {
  22. public:
  23.  
  24.   virtual long           compare                     (IAKeySortedSet < Element, Key > const&,
  25.                                                long (*comparisonFunction)
  26.                                                   (Element const&,
  27.                                                   Element const&)) const;
  28.  
  29. protected:
  30.  
  31.    INumber        numberOfElementsWithKey     (Key const&) const;
  32.  
  33.    IBoolean       locateNextElementWithKey    (Key const&,
  34.                                                ICursor&) const;
  35.  
  36.    INumber        removeAllElementsWithKey    (Key const&);
  37.  
  38.    INumber        numberOfDifferentKeys       () const;
  39.  
  40.    IBoolean       setToNextWithDifferentKey   (ICursor&) const;
  41.  
  42. };
  43.  
  44. #ifdef __IBMCPP__
  45. #ifndef __TEMPINC__
  46. #include <iaksset.c>
  47. #endif
  48. #endif
  49.  
  50. #endif
  51.