//
//   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_TIterator
 *
 * DESCRIPTION: All of the Utility Classes have corresponding iterator
 *              classes.  An iterator for a particular object will iterate over
 *              all of the objects in a class.  somf_TIterator is the
 *              Abstract base class for all iterators.
 *
 */
// This file was generated by the SOM Compiler.
// FileName: TIteratr.id2.
// Generated using:
//     SOM Precompiler spc: 6.13
//     SOM Emitter emitidl.dll: 6.18
#ifndef TIteratr_idl
#define TIteratr_idl
#include <somobj.idl>
interface somf_MCollectible;
interface somf_TIterator : SOMObject
{
  const unsigned long  kIteratorOutOfSync              = 0x384;
  somf_MCollectible somfNext();
  // Retrieve the next object in the collection and return it.  The order that
  // objects are retrieved is in an order that reflects the "ordered-ness"
  // of the collection (or the lack of ordering on the collection elements).
  // If the collection has changed since the last time somfFirst was called,
  // this method will FAIL.
  somf_MCollectible somfFirst();
  // Reset the iterator and return the first element of the collection.  This
  // resyncs the iterator to the collection if other operations on the
  // collection caused the iterator to be invalidated.
  void    somfRemove();
  // Remove the current object, the one just returned by First or Next,
  // from the Collection.
#ifdef __SOMIDL__
  implementation {
    releaseorder: somfNext,somfFirst,somfRemove;
    majorversion = 2;
    minorversion = 1;
    filestem = titeratr;
    dllname = "somuc.dll";
    passthru C_xh =     ""
"#include <mcollect.xh>";
    passthru C_h =      ""
"#include <mcollect.h>";
  };
#endif /* __SOMIDL__ */
};
#endif  /* TIteratr_idl */
