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

#ifndef __gnu_java_util_regex_RE$IntPair__
#define __gnu_java_util_regex_RE$IntPair__

#pragma interface

#include <java/lang/Object.h>
extern "Java"
{
  namespace gnu
  {
    namespace java
    {
      namespace util
      {
        namespace regex
        {
            class RE$IntPair;
        }
      }
    }
  }
}

class gnu::java::util::regex::RE$IntPair : public ::java::lang::Object
{

  RE$IntPair();
public: // actually package-private
  RE$IntPair(::gnu::java::util::regex::RE$IntPair *);
public:
  jint __attribute__((aligned(__alignof__( ::java::lang::Object)))) first;
  jint second;
  static ::java::lang::Class class$;
};

#endif // __gnu_java_util_regex_RE$IntPair__
