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

#ifndef __java_util_IdentityHashMap$3__
#define __java_util_IdentityHashMap$3__

#pragma interface

#include <java/util/AbstractCollection.h>

class java::util::IdentityHashMap$3 : public ::java::util::AbstractCollection
{

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

#endif // __java_util_IdentityHashMap$3__
