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

#ifndef __java_util_TreeMap$EntrySet__
#define __java_util_TreeMap$EntrySet__

#pragma interface

#include <java/util/AbstractSet.h>

class java::util::TreeMap$EntrySet : public ::java::util::AbstractSet
{

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

#endif // __java_util_TreeMap$EntrySet__
