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

#ifndef __java_util_HashMap$1__
#define __java_util_HashMap$1__

#pragma interface

#include <java/util/AbstractSet.h>

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

public: // actually package-private
  HashMap$1(::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$1__
