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

#ifndef __java_util_TreeMap$3__
#define __java_util_TreeMap$3__

#pragma interface

#include <java/util/AbstractCollection.h>

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

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

#endif // __java_util_TreeMap$3__
