package Xapian::PositionIterator;

=head1 NAME

Xapian::PositionIterator - Iterate over sets of positions.

=head1 DESCRIPTION

This iterator represents a stream of positions for a term. It overloads
C<++> for advancing the iterator, or you can explicitly call the C<inc> method.
This class also overloads C<eq>, C<ne>, C<==>, and C<!=>.

=head2 Compatibility with Search::Xapian

Search::Xapian overloads <""> (stringification) on this class to call
the C<get_description> method.  Call C<get_description> explicitly instead.

Search::Xapian overloads <0+> (convert to an integer) on this class to call
the C<get_termpos> method.  Call C<get_termpos> explicitly instead.

=head1 METHODS

=over 4

=item new

Constructor. Defaults to an uninitialized iterator.

=item clone

=item inc

Advance the iterator by one. (Called implicitly by C<++> overloading).

=item skip_to <termpos>

Advance the iterator to term position termpos, or the first term position after
termpos if termpos isn't in the list of term positions being iterated.

=item equal <positioniterator>

Compare for equality with another Xapian::PositionIterator object. Also
overloaded to the C<eq> and C<==> operators.

=item nequal <positioniterator>

Compare for inequality with another Xapian::PositionIterator object. Also
overloaded to the C<ne> and C<!=> operators.

=item get_termpos

Return the term position the iterator is currently on.

=item get_description

Return a description of this object.

=back

=head1 SEE ALSO

L<Xapian>,
L<Xapian::Document>

=cut
1;
