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

#ifndef __java_util_concurrent_ConcurrentHashMap$EntryIterator__
#define __java_util_concurrent_ConcurrentHashMap$EntryIterator__

#pragma interface

#include <java/util/concurrent/ConcurrentHashMap$HashIterator.h>

class java::util::concurrent::ConcurrentHashMap$EntryIterator : public ::java::util::concurrent::ConcurrentHashMap$HashIterator
{

public: // actually package-private
  ConcurrentHashMap$EntryIterator(::java::util::concurrent::ConcurrentHashMap *);
public:
  ::java::util::Map$Entry * ConcurrentHashMap$EntryIterator$next();
  ::java::lang::Object * next();
public: // actually package-private
  ::java::util::concurrent::ConcurrentHashMap * __attribute__((aligned(__alignof__( ::java::util::concurrent::ConcurrentHashMap$HashIterator)))) this$0;
public:
  static ::java::lang::Class class$;
};

#endif // __java_util_concurrent_ConcurrentHashMap$EntryIterator__
