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

#ifndef __java_util_Arrays__
#define __java_util_Arrays__

#pragma interface

#include <java/lang/Object.h>
#include <gcj/array.h>

extern "Java"
{
  namespace gnu
  {
    namespace java
    {
      namespace lang
      {
          class CPStringBuilder;
      }
    }
  }
}

class java::util::Arrays : public ::java::lang::Object
{

  Arrays();
public:
  static jint binarySearch(JArray< jbyte > *, jbyte);
  static jint binarySearch(JArray< jbyte > *, jint, jint, jbyte);
  static jint binarySearch(JArray< jchar > *, jchar);
  static jint binarySearch(JArray< jchar > *, jint, jint, jchar);
  static jint binarySearch(JArray< jshort > *, jshort);
  static jint binarySearch(JArray< jshort > *, jint, jint, jshort);
  static jint binarySearch(JArray< jint > *, jint);
  static jint binarySearch(JArray< jint > *, jint, jint, jint);
  static jint binarySearch(JArray< jlong > *, jlong);
  static jint binarySearch(JArray< jlong > *, jint, jint, jlong);
  static jint binarySearch(JArray< jfloat > *, jfloat);
  static jint binarySearch(JArray< jfloat > *, jint, jint, jfloat);
  static jint binarySearch(JArray< jdouble > *, jdouble);
  static jint binarySearch(JArray< jdouble > *, jint, jint, jdouble);
  static jint binarySearch(JArray< ::java::lang::Object * > *, ::java::lang::Object *);
  static jint binarySearch(JArray< ::java::lang::Object * > *, jint, jint, ::java::lang::Object *);
  static jint binarySearch(JArray< ::java::lang::Object * > *, ::java::lang::Object *, ::java::util::Comparator *);
  static jint binarySearch(JArray< ::java::lang::Object * > *, jint, jint, ::java::lang::Object *, ::java::util::Comparator *);
  static jboolean equals(JArray< jboolean > *, JArray< jboolean > *);
  static jboolean equals(JArray< jbyte > *, JArray< jbyte > *);
  static jboolean equals(JArray< jchar > *, JArray< jchar > *);
  static jboolean equals(JArray< jshort > *, JArray< jshort > *);
  static jboolean equals(JArray< jint > *, JArray< jint > *);
  static jboolean equals(JArray< jlong > *, JArray< jlong > *);
  static jboolean equals(JArray< jfloat > *, JArray< jfloat > *);
  static jboolean equals(JArray< jdouble > *, JArray< jdouble > *);
  static jboolean equals(JArray< ::java::lang::Object * > *, JArray< ::java::lang::Object * > *);
  static void fill(JArray< jboolean > *, jboolean);
  static void fill(JArray< jboolean > *, jint, jint, jboolean);
  static void fill(JArray< jbyte > *, jbyte);
  static void fill(JArray< jbyte > *, jint, jint, jbyte);
  static void fill(JArray< jchar > *, jchar);
  static void fill(JArray< jchar > *, jint, jint, jchar);
  static void fill(JArray< jshort > *, jshort);
  static void fill(JArray< jshort > *, jint, jint, jshort);
  static void fill(JArray< jint > *, jint);
  static void fill(JArray< jint > *, jint, jint, jint);
  static void fill(JArray< jlong > *, jlong);
  static void fill(JArray< jlong > *, jint, jint, jlong);
  static void fill(JArray< jfloat > *, jfloat);
  static void fill(JArray< jfloat > *, jint, jint, jfloat);
  static void fill(JArray< jdouble > *, jdouble);
  static void fill(JArray< jdouble > *, jint, jint, jdouble);
  static void fill(JArray< ::java::lang::Object * > *, ::java::lang::Object *);
  static void fill(JArray< ::java::lang::Object * > *, jint, jint, ::java::lang::Object *);
  static void sort(JArray< jbyte > *);
  static void sort(JArray< jbyte > *, jint, jint);
private:
  static jint med3(jint, jint, jint, JArray< jbyte > *);
  static void swap(jint, jint, JArray< jbyte > *);
  static void vecswap(jint, jint, jint, JArray< jbyte > *);
  static void qsort(JArray< jbyte > *, jint, jint);
public:
  static void sort(JArray< jchar > *);
  static void sort(JArray< jchar > *, jint, jint);
private:
  static jint med3(jint, jint, jint, JArray< jchar > *);
  static void swap(jint, jint, JArray< jchar > *);
  static void vecswap(jint, jint, jint, JArray< jchar > *);
  static void qsort(JArray< jchar > *, jint, jint);
public:
  static void sort(JArray< jshort > *);
  static void sort(JArray< jshort > *, jint, jint);
private:
  static jint med3(jint, jint, jint, JArray< jshort > *);
  static void swap(jint, jint, JArray< jshort > *);
  static void vecswap(jint, jint, jint, JArray< jshort > *);
  static void qsort(JArray< jshort > *, jint, jint);
public:
  static void sort(JArray< jint > *);
  static void sort(JArray< jint > *, jint, jint);
private:
  static jint med3(jint, jint, jint, JArray< jint > *);
  static void swap(jint, jint, JArray< jint > *);
  static void vecswap(jint, jint, jint, JArray< jint > *);
  static jint compare(jint, jint);
  static void qsort(JArray< jint > *, jint, jint);
public:
  static void sort(JArray< jlong > *);
  static void sort(JArray< jlong > *, jint, jint);
private:
  static jint med3(jint, jint, jint, JArray< jlong > *);
  static void swap(jint, jint, JArray< jlong > *);
  static void vecswap(jint, jint, jint, JArray< jlong > *);
  static jint compare(jlong, jlong);
  static void qsort(JArray< jlong > *, jint, jint);
public:
  static void sort(JArray< jfloat > *);
  static void sort(JArray< jfloat > *, jint, jint);
private:
  static jint med3(jint, jint, jint, JArray< jfloat > *);
  static void swap(jint, jint, JArray< jfloat > *);
  static void vecswap(jint, jint, jint, JArray< jfloat > *);
  static void qsort(JArray< jfloat > *, jint, jint);
public:
  static void sort(JArray< jdouble > *);
  static void sort(JArray< jdouble > *, jint, jint);
private:
  static jint med3(jint, jint, jint, JArray< jdouble > *);
  static void swap(jint, jint, JArray< jdouble > *);
  static void vecswap(jint, jint, jint, JArray< jdouble > *);
  static void qsort(JArray< jdouble > *, jint, jint);
public:
  static void sort(JArray< ::java::lang::Object * > *);
  static void sort(JArray< ::java::lang::Object * > *, ::java::util::Comparator *);
  static void sort(JArray< ::java::lang::Object * > *, jint, jint);
  static void sort(JArray< ::java::lang::Object * > *, jint, jint, ::java::util::Comparator *);
  static ::java::util::List * asList(JArray< ::java::lang::Object * > *);
  static jint hashCode(JArray< jlong > *);
  static jint hashCode(JArray< jint > *);
  static jint hashCode(JArray< jshort > *);
  static jint hashCode(JArray< jchar > *);
  static jint hashCode(JArray< jbyte > *);
  static jint hashCode(JArray< jboolean > *);
  static jint hashCode(JArray< jfloat > *);
  static jint hashCode(JArray< jdouble > *);
  static jint hashCode(JArray< ::java::lang::Object * > *);
  static jint deepHashCode(JArray< ::java::lang::Object * > *);
  static jboolean deepEquals(JArray< ::java::lang::Object * > *, JArray< ::java::lang::Object * > *);
  static ::java::lang::String * toString(JArray< jboolean > *);
  static ::java::lang::String * toString(JArray< jbyte > *);
  static ::java::lang::String * toString(JArray< jchar > *);
  static ::java::lang::String * toString(JArray< jshort > *);
  static ::java::lang::String * toString(JArray< jint > *);
  static ::java::lang::String * toString(JArray< jlong > *);
  static ::java::lang::String * toString(JArray< jfloat > *);
  static ::java::lang::String * toString(JArray< jdouble > *);
  static ::java::lang::String * toString(JArray< ::java::lang::Object * > *);
private:
  static void deepToString(JArray< ::java::lang::Object * > *, ::gnu::java::lang::CPStringBuilder *, ::java::util::HashSet *);
public:
  static ::java::lang::String * deepToString(JArray< ::java::lang::Object * > *);
  static JArray< jboolean > * copyOf(JArray< jboolean > *, jint);
  static JArray< jboolean > * copyOfRange(JArray< jboolean > *, jint, jint);
  static JArray< jbyte > * copyOf(JArray< jbyte > *, jint);
  static JArray< jbyte > * copyOfRange(JArray< jbyte > *, jint, jint);
  static JArray< jchar > * copyOf(JArray< jchar > *, jint);
  static JArray< jchar > * copyOfRange(JArray< jchar > *, jint, jint);
  static JArray< jdouble > * copyOf(JArray< jdouble > *, jint);
  static JArray< jdouble > * copyOfRange(JArray< jdouble > *, jint, jint);
  static JArray< jfloat > * copyOf(JArray< jfloat > *, jint);
  static JArray< jfloat > * copyOfRange(JArray< jfloat > *, jint, jint);
  static JArray< jint > * copyOf(JArray< jint > *, jint);
  static JArray< jint > * copyOfRange(JArray< jint > *, jint, jint);
  static JArray< jlong > * copyOf(JArray< jlong > *, jint);
  static JArray< jlong > * copyOfRange(JArray< jlong > *, jint, jint);
  static JArray< jshort > * copyOf(JArray< jshort > *, jint);
  static JArray< jshort > * copyOfRange(JArray< jshort > *, jint, jint);
  static JArray< ::java::lang::Object * > * copyOf(JArray< ::java::lang::Object * > *, jint);
  static JArray< ::java::lang::Object * > * copyOfRange(JArray< ::java::lang::Object * > *, jint, jint);
  static JArray< ::java::lang::Object * > * copyOf(JArray< ::java::lang::Object * > *, jint, ::java::lang::Class *);
  static JArray< ::java::lang::Object * > * copyOfRange(JArray< ::java::lang::Object * > *, jint, jint, ::java::lang::Class *);
  static ::java::lang::Class class$;
};

#endif // __java_util_Arrays__