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

#ifndef __java_util_concurrent_ConcurrentHashMap$Values__
#define __java_util_concurrent_ConcurrentHashMap$Values__

#pragma interface

#include <java/util/AbstractCollection.h>

class java::util::concurrent::ConcurrentHashMap$Values : public ::java::util::AbstractCollection
{

public: // actually package-private
  ConcurrentHashMap$Values(::java::util::concurrent::ConcurrentHashMap *);
public:
  ::java::util::Iterator * iterator();
  jint size();
  jboolean contains(::java::lang::Object *);
  void clear();
public: // actually package-private
  ::java::util::concurrent::ConcurrentHashMap * __attribute__((aligned(__alignof__( ::java::util::AbstractCollection)))) this$0;
public:
  static ::java::lang::Class class$;
};

#endif // __java_util_concurrent_ConcurrentHashMap$Values__
