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

#ifndef __java_util_ArrayDeque$DescendingIterator__
#define __java_util_ArrayDeque$DescendingIterator__

#pragma interface

#include <java/lang/Object.h>

class java::util::ArrayDeque$DescendingIterator : public ::java::lang::Object
{

  ArrayDeque$DescendingIterator(::java::util::ArrayDeque *);
public:
  virtual jboolean hasNext();
  virtual ::java::lang::Object * next();
  virtual void remove();
public: // actually package-private
  ArrayDeque$DescendingIterator(::java::util::ArrayDeque *, ::java::util::ArrayDeque$DescendingIterator *);
private:
  jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) cursor;
  jint fence;
  jint lastRet;
public: // actually package-private
  ::java::util::ArrayDeque * this$0;
public:
  static ::java::lang::Class class$;
};

#endif // __java_util_ArrayDeque$DescendingIterator__
