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

#ifndef __gnu_regexp_RETokenRepeated__
#define __gnu_regexp_RETokenRepeated__

#pragma interface

#include <gnu/regexp/REToken.h>

extern "Java"
{
  namespace gnu
  {
    namespace regexp
    {
      class RETokenRepeated;
      class REMatch;
      class CharIndexed;
      class REToken;
    }
  }
}

class gnu::regexp::RETokenRepeated : public ::gnu::regexp::REToken
{
public: // actually package-private
  RETokenRepeated (jint, ::gnu::regexp::REToken *, jint, jint);
  virtual void makeStingy ();
  virtual jboolean isStingy () { return stingy; }
  virtual void makePossessive ();
  virtual jboolean isPossessive () { return possessive; }
  virtual jint getMinimumLength ();
  virtual jint getMaximumLength ();
private:
  static ::gnu::regexp::REMatch *findDoables (::gnu::regexp::REToken *, ::gnu::regexp::CharIndexed *, ::gnu::regexp::REMatch *);
public: // actually package-private
  virtual jboolean match (::gnu::regexp::CharIndexed *, ::gnu::regexp::REMatch *);
private:
  ::gnu::regexp::REMatch *matchRest (::gnu::regexp::CharIndexed *, ::gnu::regexp::REMatch *);
public: // actually package-private
  virtual void dump (::java::lang::StringBuffer *);
private:
  ::gnu::regexp::REToken * __attribute__((aligned(__alignof__( ::gnu::regexp::REToken )))) token;
  jint min;
  jint max;
  jboolean stingy;
  jboolean possessive;
  jboolean alwaysEmpty;
public: // actually package-private
  jboolean stopMatchingIfSatisfied;
public:

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

#endif /* __gnu_regexp_RETokenRepeated__ */
