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

#ifndef __org_apache_lucene_index_MultipleTermPositions__
#define __org_apache_lucene_index_MultipleTermPositions__

#pragma interface

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

extern "Java"
{
  namespace org
  {
    namespace apache
    {
      namespace lucene
      {
        namespace index
        {
          class MultipleTermPositions;
          class TermEnum;
          class Term;
          class IndexReader;
          class MultipleTermPositions$IntQueue;
          class MultipleTermPositions$TermPositionsQueue;
        }
      }
    }
  }
}

class org::apache::lucene::index::MultipleTermPositions : public ::java::lang::Object
{
public:
  MultipleTermPositions (::org::apache::lucene::index::IndexReader *, JArray< ::org::apache::lucene::index::Term *> *);
  jboolean next ();
  jint nextPosition ();
  jboolean skipTo (jint);
  jint doc () { return _doc; }
  jint freq () { return _freq; }
  void close ();
  virtual void seek (::org::apache::lucene::index::Term *);
  virtual void seek (::org::apache::lucene::index::TermEnum *);
  virtual jint read (jintArray, jintArray);
private:
  jint __attribute__((aligned(__alignof__( ::java::lang::Object ))))  _doc;
  jint _freq;
  ::org::apache::lucene::index::MultipleTermPositions$TermPositionsQueue *_termPositionsQueue;
  ::org::apache::lucene::index::MultipleTermPositions$IntQueue *_posList;

  friend class org_apache_lucene_index_MultipleTermPositions$1;
  friend class org_apache_lucene_index_MultipleTermPositions$IntQueue;
  friend class org_apache_lucene_index_MultipleTermPositions$TermPositionsQueue;
public:

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

#endif /* __org_apache_lucene_index_MultipleTermPositions__ */
