//
//   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, 1989 Apple Computer, Inc. All rights reserved.
/*
 * CLASS_NAME: somf_THashTableIterator
 *
 * DESCRIPTION: An iterator for somf_THashTable that will iterate over all of the
 *              objects in a hash table
 *
 *
 */
#ifndef THashItr_idl
#define THashItr_idl
#include "titeratr.idl"
#include "mcollect.idl"
interface somf_THashTable;
interface somf_TAssoc;
interface THAssoc;
interface somf_THashTableIterator : somf_TIterator
{
  somf_THashTableIterator somfTHashTableIteratorInit(in somf_THashTable h);
  // Initialize somf_THashTableIterator using somf_THashTable h.
#ifdef __SOMIDL__
  implementation {
    releaseorder: somfTHashTableIteratorInit;
    majorversion = 2;
    minorversion = 1;
    filestem = thashitr;
    dllname = "somuc.dll";
    passthru C_xh_after =  ""
"#include <mcollect.xh>"
"#include <thash.xh>";
    passthru C_h_after =  ""
"#include <mcollect.h>"
"#include <thash.h>";
    somf_THashTable fHashTable;   // current somf_THashTable
    long fIndex;                  // current element we are passing
    long fEndTest;
    THAssoc fNextAssoc;
    unsigned long fSeed;
    somf_TAssoc fRetval;
    boolean fBreakEmInD16;
    somInit: override;
    somUninit: override;
    somfNext: override;
    somfFirst: override;
    somfRemove: override;
    somfTHashTableIteratorInit: nooverride;
  };
#endif /* __SOMIDL__ */
};
#endif  /* THashItr_idl */
