home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / cset21v1.zip / IBMCPP / IBMCLASS / IAEQSEQ.H < prev    next >
Text File  |  1993-09-22  |  3KB  |  62 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 _IAEQSEQ_H
  13. #define _IAEQSEQ_H
  14.  
  15. #include <iglobals.h>
  16. #include <icursor.h>
  17. #include <iaequal.h>
  18. #include <iasqntl.h>
  19.  
  20. template < class Element >
  21. class IAEqualitySequence :
  22.   public virtual IAEqualityCollection < Element >,
  23.   public virtual IASequentialCollection < Element > {
  24. public:
  25.  
  26.   virtual INumber        numberOfOccurrences         (Element const&) const = 0;
  27.  
  28.   virtual IBoolean       locateNext                  (Element const&, ICursor&)
  29.                                                const = 0;
  30.  
  31.   virtual INumber        removeAllOccurrences        (Element const&) = 0;
  32.  
  33.   virtual IBoolean       operator ==                 (IAEqualitySequence < Element > const&) const;
  34.  
  35.   virtual IBoolean       operator !=                 (IAEqualitySequence < Element > const&) const;
  36.  
  37.   virtual long           compare                     (IAEqualitySequence < Element > const&,
  38.                                                long (*comparisonFunction)
  39.                                                   (Element const&,
  40.                                                   Element const&)) const;
  41.  
  42.   virtual IBoolean       locateFirst                 (Element const&, ICursor&)
  43.                                                const = 0;
  44.  
  45.   virtual IBoolean       locateLast                  (Element const&,
  46.                                                ICursor&) const = 0;
  47.  
  48.   virtual IBoolean       locatePrevious              (Element const&,
  49.                                                ICursor&) const = 0;
  50.  
  51. protected:
  52.  
  53. };
  54.  
  55. #ifdef __IBMCPP__
  56. #ifndef __TEMPINC__
  57. #include <iaeqseq.c>
  58. #endif
  59. #endif
  60.  
  61. #endif
  62.