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

#ifndef __gnu_regexp_REMatchEnumeration__
#define __gnu_regexp_REMatchEnumeration__

#pragma interface

#include <java/lang/Object.h>

extern "Java"
{
  namespace gnu
  {
    namespace regexp
    {
      class REMatchEnumeration;
      class CharIndexed;
      class RE;
      class REMatch;
    }
  }
}

class gnu::regexp::REMatchEnumeration : public ::java::lang::Object
{
public: // actually package-private
  REMatchEnumeration (::gnu::regexp::RE *, ::gnu::regexp::CharIndexed *, jint, jint);
public:
  virtual jboolean hasMoreElements ();
  virtual jboolean hasMoreMatches ();
  virtual jboolean hasMoreMatches (::java::lang::StringBuffer *);
  virtual ::java::lang::Object *nextElement ();
  virtual ::gnu::regexp::REMatch *nextMatch ();
private:
  static const jint YES = 1L;
  static const jint MAYBE = 0L;
  static const jint NO = -1L;
  jint __attribute__((aligned(__alignof__( ::java::lang::Object ))))  more;
  ::gnu::regexp::REMatch *match;
  ::gnu::regexp::RE *expr;
  ::gnu::regexp::CharIndexed *input;
  jint eflags;
  jint index;
public:

  static ::java::lang::Class class$;
};

#endif /* __gnu_regexp_REMatchEnumeration__ */
