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

#ifndef __org_apache_lucene_search_FilteredTermEnum__
#define __org_apache_lucene_search_FilteredTermEnum__

#pragma interface

#include <org/apache/lucene/index/TermEnum.h>

extern "Java"
{
  namespace org
  {
    namespace apache
    {
      namespace lucene
      {
        namespace search
        {
          class FilteredTermEnum;
        }
        namespace index
        {
          class TermEnum;
          class Term;
        }
      }
    }
  }
}

class org::apache::lucene::search::FilteredTermEnum : public ::org::apache::lucene::index::TermEnum
{
public:
  FilteredTermEnum ();
public:  // actually protected
  virtual jboolean termCompare (::org::apache::lucene::index::Term *) = 0;
public:
  virtual jfloat difference () = 0;
public:  // actually protected
  virtual jboolean endEnum () = 0;
  virtual void setEnum (::org::apache::lucene::index::TermEnum *);
public:
  virtual jint docFreq ();
  virtual jboolean next ();
  virtual ::org::apache::lucene::index::Term *term () { return currentTerm; }
  virtual void close ();
private:
  ::org::apache::lucene::index::Term * __attribute__((aligned(__alignof__( ::org::apache::lucene::index::TermEnum )))) currentTerm;
  ::org::apache::lucene::index::TermEnum *actualEnum;
public:

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

#endif /* __org_apache_lucene_search_FilteredTermEnum__ */
