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

#ifndef __java_util_AbstractMap$3__
#define __java_util_AbstractMap$3__

#pragma interface

#include <java/util/AbstractCollection.h>

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

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

#endif // __java_util_AbstractMap$3__
