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

#ifndef __java_nio_DirectByteBufferImpl$ReadWrite__
#define __java_nio_DirectByteBufferImpl$ReadWrite__

#pragma interface

#include <java/nio/DirectByteBufferImpl.h>
extern "Java"
{
  namespace gnu
  {
    namespace gcj
    {
        class RawData;
    }
  }
  namespace java
  {
    namespace nio
    {
        class DirectByteBufferImpl$ReadWrite;
    }
  }
}

class java::nio::DirectByteBufferImpl$ReadWrite : public ::java::nio::DirectByteBufferImpl
{

public: // actually package-private
  DirectByteBufferImpl$ReadWrite(jint);
  DirectByteBufferImpl$ReadWrite(::gnu::gcj::RawData *, jint);
  DirectByteBufferImpl$ReadWrite(::java::lang::Object *, ::gnu::gcj::RawData *, jint, jint, jint);
public:
  jboolean isReadOnly();
  static ::java::lang::Class class$;
};

#endif // __java_nio_DirectByteBufferImpl$ReadWrite__
