
// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-

#ifndef __java_util_IdentityHashMap$1__
#define __java_util_IdentityHashMap$1__

#pragma interface

#include <java/util/AbstractSet.h>

class java::util::IdentityHashMap$1 : public ::java::util::AbstractSet
{

public: // actually package-private
  IdentityHashMap$1(::java::util::IdentityHashMap *);
public:
  jint size();
  ::java::util::Iterator * iterator();
  void clear();
  jboolean contains(::java::lang::Object *);
  jint hashCode();
  jboolean remove(::java::lang::Object *);
public: // actually package-private
  ::java::util::IdentityHashMap * __attribute__((aligned(__alignof__( ::java::util::AbstractSet)))) this$0;
public:
  static ::java::lang::Class class$;
};

#endif // __java_util_IdentityHashMap$1__
