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

#ifndef __gnu_java_util_regex_UncheckedRE__
#define __gnu_java_util_regex_UncheckedRE__

#pragma interface

#include <gnu/java/util/regex/RE.h>
extern "Java"
{
  namespace gnu
  {
    namespace java
    {
      namespace util
      {
        namespace regex
        {
            class RESyntax;
            class UncheckedRE;
        }
      }
    }
  }
}

class gnu::java::util::regex::UncheckedRE : public ::gnu::java::util::regex::RE
{

public:
  UncheckedRE(::java::lang::Object *);
  UncheckedRE(::java::lang::Object *, jint);
  UncheckedRE(::java::lang::Object *, jint, ::gnu::java::util::regex::RESyntax *);
  static ::java::lang::Class class$;
};

#endif // __gnu_java_util_regex_UncheckedRE__
