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

#ifndef __java_util_concurrent_ArrayBlockingQueue$Itr__
#define __java_util_concurrent_ArrayBlockingQueue$Itr__

#pragma interface

#include <java/lang/Object.h>

class java::util::concurrent::ArrayBlockingQueue$Itr : public ::java::lang::Object
{

public: // actually package-private
  ArrayBlockingQueue$Itr(::java::util::concurrent::ArrayBlockingQueue *);
public:
  virtual jboolean hasNext();
private:
  void checkNext();
public:
  virtual ::java::lang::Object * next();
  virtual void remove();
private:
  jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) nextIndex;
  ::java::lang::Object * nextItem;
  jint lastRet;
public: // actually package-private
  ::java::util::concurrent::ArrayBlockingQueue * this$0;
public:
  static ::java::lang::Class class$;
};

#endif // __java_util_concurrent_ArrayBlockingQueue$Itr__
