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

#ifndef __java_util_HashMap$3__
#define __java_util_HashMap$3__

#pragma interface

#include <java/util/AbstractSet.h>

class java::util::HashMap$3 : public ::java::util::AbstractSet
{

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

#endif // __java_util_HashMap$3__
