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

#ifndef __java_lang_ref_ReferenceQueue__
#define __java_lang_ref_ReferenceQueue__

#pragma interface

#include <java/lang/Object.h>

class java::lang::ref::ReferenceQueue : public ::java::lang::Object
{

public:
  ReferenceQueue();
  virtual ::java::lang::ref::Reference * poll();
public: // actually package-private
  virtual jboolean enqueue(::java::lang::ref::Reference *);
private:
  ::java::lang::ref::Reference * dequeue();
public:
  virtual ::java::lang::ref::Reference * remove(jlong);
  virtual ::java::lang::ref::Reference * remove();
private:
  ::java::lang::ref::Reference * __attribute__((aligned(__alignof__( ::java::lang::Object)))) first;
  ::java::lang::Object * lock;
public:
  static ::java::lang::Class class$;
};

#endif // __java_lang_ref_ReferenceQueue__
