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

#ifndef __java_util_concurrent_ConcurrentHashMap$HashIterator__
#define __java_util_concurrent_ConcurrentHashMap$HashIterator__

#pragma interface

#include <java/lang/Object.h>
#include <gcj/array.h>


class java::util::concurrent::ConcurrentHashMap$HashIterator : public ::java::lang::Object
{

public: // actually package-private
  ConcurrentHashMap$HashIterator(::java::util::concurrent::ConcurrentHashMap *);
public:
  virtual jboolean hasMoreElements();
public: // actually package-private
  virtual void advance();
public:
  virtual jboolean hasNext();
public: // actually package-private
  virtual ::java::util::concurrent::ConcurrentHashMap$HashEntry * nextEntry();
public:
  virtual void remove();
public: // actually package-private
  jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) nextSegmentIndex;
  jint nextTableIndex;
  JArray< ::java::util::concurrent::ConcurrentHashMap$HashEntry * > * currentTable;
  ::java::util::concurrent::ConcurrentHashMap$HashEntry * nextEntry__;
  ::java::util::concurrent::ConcurrentHashMap$HashEntry * lastReturned;
  ::java::util::concurrent::ConcurrentHashMap * this$0;
public:
  static ::java::lang::Class class$;
};

#endif // __java_util_concurrent_ConcurrentHashMap$HashIterator__