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

#ifndef __gnu_gcj_convert_Output_ASCII__
#define __gnu_gcj_convert_Output_ASCII__

#pragma interface

#include <gnu/gcj/convert/UnicodeToBytes.h>
#include <gcj/array.h>

extern "Java"
{
  namespace gnu
  {
    namespace gcj
    {
      namespace convert
      {
          class Output_ASCII;
      }
    }
  }
}

class gnu::gcj::convert::Output_ASCII : public ::gnu::gcj::convert::UnicodeToBytes
{

public:
  Output_ASCII();
  virtual ::java::lang::String * getName();
  virtual jint write(JArray< jchar > *, jint, jint);
  virtual jint write(::java::lang::String *, jint, jint, JArray< jchar > *);
  static ::java::lang::Class class$;
};

#endif // __gnu_gcj_convert_Output_ASCII__
