//
//   COMPONENT_NAME: somuc
//
//   ORIGINS: 82, 81, 27
//
//
//   10H9767, 10H9769  (C) COPYRIGHT International Business Machines Corp. 1992,1994
//   All Rights Reserved
//   Licensed Materials - Property of IBM
//   US Government Users Restricted Rights - Use, duplication or
//   disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
//
//   Copyright © 1988-92 Apple Computer, Inc.  All rights reserved.
/*
 * CLASS_NAME: somf_TSortedSequenceIterator
 *
 * DESCRIPTION: An iterator for TSortedSeqence that will iterate over all of
 *              the objects in a sorted sequence.
 *
 */
#ifndef TSSItr_idl
#define TSSItr_idl
#include <tseqitr.idl>
#include <mcollect.idl>
interface somf_TSortedSequence;
interface somf_TSortedSequenceNode;
interface somf_MOrderableCollectible;
interface somf_TSortedSequenceIterator : somf_TSequenceIterator
{
  somf_TSortedSequenceIterator somfTSortedSequenceIteratorInit(in somf_TSortedSequence h);
  // Initializes the new sorted sequence iterator.
  somf_MOrderableCollectible  somfStartHere(in somf_MOrderableCollectible obj);
  // Start Iterating through the TSroted Sequence, only don't start at the
  // front of the collection, start at obj.
#ifdef __SOMIDL__
  implementation {
    releaseorder: somfStartHere, somfTSortedSequenceIteratorInit;
    majorversion = 2;
    minorversion = 1;
    filestem = tssitr;
    dllname = "somuc.dll";
    passthru C_xh =     ""
"#include <tss.xh>"
"#include <morder.xh>";
    passthru C_h =      ""
"#include <tss.h>"
"#include <morder.h>";
    unsigned long           fSeed;
    somf_TSortedSequence      fTree;
    somf_TSortedSequenceNode  fCurrent;
    somf_TSortedSequenceNode  fNilNode;
    boolean                 fDirection;
    boolean                 fBreakEmInD16;
    somf_TSortedSequenceNode  fParent;
    somf_TSortedSequenceNode  fGrandParent;
    somfFirst: override;
    somfNext: override;
    somfLast: override;
    somfPrevious: override;
    somfRemove: override;
    somfTSortedSequenceIteratorInit : nooverride;
  };
#endif /* __SOMIDL__ */
};
#endif  /* TSSItr_idl */
