//
//   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_TDequeIterator
 *
 * DESCRIPTION: An iterator for TDeque that will iterate over all of
 *              the objects in a deque.
 *
 */
#ifndef TDeqItr_idl
#define TDeqItr_idl
#include <tseqitr.idl>
#include <mcollect.idl>
interface somf_TDeque;
interface somf_TDequeLinkable;
interface somf_TDequeIterator : somf_TSequenceIterator
{
  somf_TDequeIterator somfTDequeIteratorInit(in somf_TDeque h);
  // Initializes the new deque iterator.
#ifdef __SOMIDL__
  implementation {
    releaseorder: somfTDequeIteratorInit;
    majorversion = 2;
    minorversion = 1;
    filestem = tdeqitr;
    dllname = "somuc.dll";
    passthru C_xh =     ""
"#include <tdeq.xh>";
    passthru C_h =      ""
"#include <tdeq.h>";
    unsigned long      fSeed;
    somf_TDeque          fDeque;
    somf_TDequeLinkable  fNext;
    somf_TDequeLinkable  fCurrent;
    somf_TDequeLinkable  fPrevious;
    somf_TDequeLinkable  fSentinel;
    boolean            fBreakEmInD16;
    somfFirst: override;
    somfNext: override;
    somfLast: override;
    somfPrevious: override;
    somfRemove: override;
    somfTDequeIteratorInit: nooverride;
  };
#endif /* __SOMIDL__ */
};
#endif  /* TDeqItr_idl */
