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

#ifndef __java_util_TreeMap$6__
#define __java_util_TreeMap$6__

#pragma interface

#include <java/lang/Object.h>

class java::util::TreeMap$6 : public ::java::lang::Object
{

public: // actually package-private
  TreeMap$6(::java::util::TreeMap$NavigableEntrySet *);
public:
  virtual jint TreeMap$6$compare(::java::util::Map$Entry *, ::java::util::Map$Entry *);
  virtual jint compare(::java::lang::Object *, ::java::lang::Object *);
public: // actually package-private
  ::java::util::TreeMap$NavigableEntrySet * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$1;
public:
  static ::java::lang::Class class$;
};

#endif // __java_util_TreeMap$6__
