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

- Main Page
- Related Pages
- Namespaces
- Data Structures
- Files

- Data Structures
- Class Hierarchy
- Data Fields

All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
Public Member Functions | Static Public Member Functions | Static Public Attributes
Lucene::DocIdSetIterator Class Referenceabstract

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. More...

`#include <DocIdSetIterator.h>`

Inheritance diagram for Lucene::DocIdSetIterator:

## Public Member Functions

virtual | ~DocIdSetIterator ()
virtual String | getClassName ()
boost::shared_ptr < DocIdSetIterator > | shared_from_this ()
virtual int32_t | docID ()=0
| Returns the following: More...
virtual int32_t | nextDoc ()=0
| Advances to the next document in the set and returns the doc it is currently on, or NO_MORE_DOCS if there are no more docs in the set. More...
virtual int32_t | advance (int32_t target)=0
| Advances to the first beyond the current whose document number is greater than or equal to target. Returns the current document number or NO_MORE_DOCS if there are no more docs in the set. More...
Public Member Functions inherited from Lucene::LuceneObject
virtual | ~LuceneObject ()
virtual void | initialize ()
| Called directly after instantiation to create objects that depend on this object being fully constructed. More...
virtual LuceneObjectPtr | clone (LuceneObjectPtr other=LuceneObjectPtr())
| Return clone of this object. More...
virtual int32_t | hashCode ()
| Return hash code for this object. More...
virtual bool | equals (LuceneObjectPtr other)
| Return whether two objects are equal. More...
virtual int32_t | compareTo (LuceneObjectPtr other)
| Compare two objects. More...
virtual String | toString ()
| Returns a string representation of the object. More...
Public Member Functions inherited from Lucene::LuceneSync
virtual | ~LuceneSync ()
virtual SynchronizePtr | getSync ()
| Return this object synchronize lock. More...
virtual LuceneSignalPtr | getSignal ()
| Return this object signal. More...
virtual void | lock (int32_t timeout=0)
| Lock this object using an optional timeout. More...
virtual void | unlock ()
| Unlock this object. More...
virtual bool | holdsLock ()
| Returns true if this object is currently locked by current thread. More...
virtual void | wait (int32_t timeout=0)
| Wait for signal using an optional timeout. More...
virtual void | notifyAll ()
| Notify all threads waiting for signal. More...

## Static Public Member Functions

static String | _getClassName ()

## Static Public Attributes

static const int32_t | NO_MORE_DOCS
| When returned by nextDoc(), advance(int) and docID() it means there are no more docs in the iterator. More...

## Additional Inherited Members

Protected Member Functions inherited from Lucene::LuceneObject
| LuceneObject ()
Protected Attributes inherited from Lucene::LuceneSync
SynchronizePtr | objectLock
LuceneSignalPtr | objectSignal

## Detailed Description

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.

## Constructor & Destructor Documentation

virtual Lucene::DocIdSetIterator::~DocIdSetIterator | ( | ) |  |

virtual

## Member Function Documentation

static String Lucene::DocIdSetIterator::_getClassName | ( | ) |  |

inline static

virtual int32_t Lucene::DocIdSetIterator::advance | ( | int32_t | target) |  |

pure virtual

Advances to the first beyond the current whose document number is greater than or equal to target. Returns the current document number or NO_MORE_DOCS if there are no more docs in the set.

Behaves as if written:

    int32_t advance(int32_t target)
    {
        int32_t doc;
        while ((doc = nextDoc()) < target)
        { }
        return doc;
    }

Some implementations are considerably more efficient than that.

NOTE: certain implementations may return a different value (each time) if called several times in a row with the same target.

NOTE: this method may be called with { NO_MORE_DOCS} for efficiency by some Scorers. If your implementation cannot efficiently determine that it should exhaust, it is recommended that you check for that value in each call to this method.

NOTE: after the iterator has exhausted you should not call this method, as it may result in unpredicted behaviour.

Implemented in Lucene::SingleMatchScorer, Lucene::BucketScorer, Lucene::DisjunctionSumScorer, Lucene::BooleanScorer2, Lucene::TermScorer, Lucene::BooleanScorer, Lucene::PhraseScorer, Lucene::DisjunctionMaxScorer, Lucene::OpenBitSetIterator, Lucene::ScoreCachingWrappingScorer, Lucene::ReqExclScorer, Lucene::SpanScorer, Lucene::FilteredDocIdSetIterator, Lucene::ReqOptSumScorer, and Lucene::ConjunctionScorer.

virtual int32_t Lucene::DocIdSetIterator::docID | ( | ) |  |

pure virtual

Returns the following:

- -1 or NO_MORE_DOCS if nextDoc() or advance(int) were not called yet.
- NO_MORE_DOCS if the iterator has exhausted.
- Otherwise it should return the doc ID it is currently on.

Implemented in Lucene::SingleMatchScorer, Lucene::BucketScorer, Lucene::BooleanScorer2, Lucene::DisjunctionSumScorer, Lucene::BooleanScorer, Lucene::TermScorer, Lucene::OpenBitSetIterator, Lucene::PhraseScorer, Lucene::ScoreCachingWrappingScorer, Lucene::DisjunctionMaxScorer, Lucene::SpanScorer, Lucene::ReqExclScorer, Lucene::ReqOptSumScorer, Lucene::ConjunctionScorer, and Lucene::FilteredDocIdSetIterator.

virtual String Lucene::DocIdSetIterator::getClassName | ( | ) |  |

inline virtual

Reimplemented in Lucene::CountingConjunctionSumScorer, Lucene::CountingDisjunctionSumScorer, Lucene::SingleMatchScorer, Lucene::BucketScorer, Lucene::PayloadNearSpanScorer, Lucene::BooleanScorer2, Lucene::BooleanScorer, Lucene::Scorer, Lucene::ScoreCachingWrappingScorer, Lucene::PhraseScorer, Lucene::TermScorer, Lucene::ReqExclScorer, Lucene::DisjunctionMaxScorer, Lucene::OpenBitSetIterator, Lucene::FilteredDocIdSetIterator, Lucene::DisjunctionSumScorer, Lucene::ReqOptSumScorer, Lucene::ConjunctionScorer, Lucene::SpanScorer, Lucene::ExactPhraseScorer, and Lucene::SloppyPhraseScorer.

virtual int32_t Lucene::DocIdSetIterator::nextDoc | ( | ) |  |

pure virtual

Advances to the next document in the set and returns the doc it is currently on, or NO_MORE_DOCS if there are no more docs in the set.

NOTE: after the iterator has exhausted you should not call this method, as it may result in unpredicted behaviour.

Implemented in Lucene::SingleMatchScorer, Lucene::BucketScorer, Lucene::BooleanScorer2, Lucene::BooleanScorer, Lucene::DisjunctionSumScorer, Lucene::TermScorer, Lucene::PhraseScorer, Lucene::OpenBitSetIterator, Lucene::ScoreCachingWrappingScorer, Lucene::DisjunctionMaxScorer, Lucene::ReqExclScorer, Lucene::SpanScorer, Lucene::ConjunctionScorer, Lucene::FilteredDocIdSetIterator, and Lucene::ReqOptSumScorer.

boost::shared_ptr< DocIdSetIterator > Lucene::DocIdSetIterator::shared_from_this | ( | ) |  |

inline

## Field Documentation

const int32_t Lucene::DocIdSetIterator::NO_MORE_DOCS

static

When returned by nextDoc(), advance(int) and docID() it means there are no more docs in the iterator.

The documentation for this class was generated from the following file:

- DocIdSetIterator.h

clucene.sourceforge.net