Lucene++ - a full-featured, c++ search engine
API Documentation


 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
FilteredDocIdSetIterator.h
Go to the documentation of this file.
1 // Copyright (c) 2009-2014 Alan Wright. All rights reserved.
3 // Distributable under the terms of either the Apache License (Version 2.0)
4 // or the GNU Lesser General Public License.
6 
7 #ifndef FILTEREDDOCIDSETITERATOR_H
8 #define FILTEREDDOCIDSETITERATOR_H
9 
10 #include "DocIdSetIterator.h"
11 
12 namespace Lucene {
13 
17 public:
20  virtual ~FilteredDocIdSetIterator();
21 
23 
24 protected:
25  DocIdSetIteratorPtr innerIter;
26  int32_t doc;
27 
28 public:
29  virtual int32_t docID();
30  virtual int32_t nextDoc();
31  virtual int32_t advance(int32_t target);
32 
33 protected:
38  virtual bool match(int32_t docid) = 0;
39 };
40 
41 }
42 
43 #endif
Abstract decorator class of a DocIdSetIterator implementation that provides on-demand filter/validati...
Definition: FilteredDocIdSetIterator.h:16
int32_t doc
Definition: FilteredDocIdSetIterator.h:26
This abstract class defines methods to iterate over a set of non-decreasing doc ids. Note that this class assumes it iterates on doc Ids, and therefore NO_MORE_DOCS is set to { NO_MORE_DOCS} in order to be used as a sentinel object. Implementations of this class are expected to consider INT_MAX as an invalid value.
Definition: DocIdSetIterator.h:17
boost::shared_ptr< DocIdSetIterator > DocIdSetIteratorPtr
Definition: LuceneTypes.h:324
#define LUCENE_CLASS(Name)
Definition: LuceneObject.h:24
Definition: AbstractAllTermDocs.h:12

clucene.sourceforge.net