home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / tolkit45.zip / os2tk45 / som / include / tssitr.idl < prev    next >
Text File  |  1999-02-22  |  3KB  |  98 lines

  1. //#  @(#) 2.12 src/somuc/tssitr.idl, somuc, som2.1 12/26/95 15:41:54 [7/30/96 14:50:11]
  2. //
  3. //   COMPONENT_NAME: somuc
  4. //
  5. //   ORIGINS: 82, 81, 27
  6. //
  7. //
  8. //    25H7912  (C)  COPYRIGHT International Business Machines Corp. 1992,1996,1996  
  9. //   All Rights Reserved
  10. //   Licensed Materials - Property of IBM
  11. //   US Government Users Restricted Rights - Use, duplication or
  12. //   disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
  13. //
  14. //   Copyright ⌐ 1988-92 Apple Computer, Inc.  All rights reserved.
  15.  
  16. /*
  17.  * CLASS_NAME: somf_TSortedSequenceIterator
  18.  *
  19.  * DESCRIPTION: An iterator for TSortedSeqence that will iterate over all of
  20.  *              the objects in a sorted sequence.
  21.  *
  22.  */
  23.  
  24. #ifndef TSSItr_idl
  25. #define TSSItr_idl
  26.  
  27. #include <tseqitr.idl>
  28. #include <mcollect.idl>
  29.  
  30. interface somf_TSortedSequence;
  31. interface somf_TSortedSequenceNode;
  32. interface somf_MOrderableCollectible;
  33.  
  34. interface somf_TSortedSequenceIterator : somf_TSequenceIterator
  35. {
  36.   somf_TSortedSequenceIterator somfTSortedSequenceIteratorInit(in somf_TSortedSequence h);
  37.   // Initializes the new sorted sequence iterator.
  38.   //# TSortedSequenceIterator(const TSortedSequence* h);
  39.  
  40.  
  41.   //# The following methods are overridden below:
  42.   //# virtual MCollectible* Next();
  43.   //# virtual MCollectible* Previous();
  44.   //# virtual MCollectible* First();
  45.   //#   NOTE: I've overriding Remove to send the error message that it's not
  46.   //#         implemented yet.
  47.   //# virtual void Remove();
  48.   //# virtual MCollectible* Last();
  49.  
  50.  
  51.   somf_MOrderableCollectible  somfStartHere(in somf_MOrderableCollectible obj);
  52.   // Start Iterating through the TSroted Sequence, only don't start at the
  53.   // front of the collection, start at obj.
  54.   //# virtual MOrderableCollectible*  StartHere(const MOrderableCollectible& obj);
  55.  
  56. #ifdef __SOMIDL__
  57.   implementation {
  58.  
  59.     releaseorder: somfStartHere, somfTSortedSequenceIteratorInit;
  60.  
  61.     //# Class Modifiers
  62.     majorversion = 2;
  63.     minorversion = 1;
  64.     filestem = tssitr;
  65.     dllname = "somuc.dll";
  66.  
  67.     passthru C_xh =     ""
  68. "#include <tss.xh>"
  69. "#include <morder.xh>";
  70.  
  71.     passthru C_h =      ""
  72. "#include <tss.h>"
  73. "#include <morder.h>";
  74.  
  75.     //# Internal Instance Variables
  76.     unsigned long           fSeed;
  77.     somf_TSortedSequence      fTree;
  78.     somf_TSortedSequenceNode  fCurrent;
  79.     somf_TSortedSequenceNode  fNilNode;
  80.     boolean                 fDirection;
  81.     boolean                 fBreakEmInD16;
  82.     somf_TSortedSequenceNode  fParent;
  83.     somf_TSortedSequenceNode  fGrandParent;
  84.  
  85.     //# Method Modifiers
  86.     somfFirst: override;
  87.     somfNext: override;
  88.     somfLast: override;
  89.     somfPrevious: override;
  90.     somfRemove: override;
  91.     somfTSortedSequenceIteratorInit : nooverride;
  92.  
  93.   };
  94. #endif /* __SOMIDL__ */
  95. };
  96.  
  97. #endif  /* TSSItr_idl */
  98.