21 #ifndef XAPIAN_INCLUDED_POSITIONITERATOR_H
22 #define XAPIAN_INCLUDED_POSITIONITERATOR_H
24 #if !defined XAPIAN_IN_XAPIAN_H && !defined XAPIAN_LIB_BUILD
25 # error Never use <xapian/positioniterator.h> directly; include <xapian.h> instead.
60 : internal(o.internal) {
67 if (
internal) decref();
68 internal = o.internal;
84 if (
internal) decref();
109 std::string get_description()
const;
141 return a.internal == b.internal;
Compiler attribute macros.
Abstract base class for iterating term positions in a document.
Class for iterating over term positions.
DerefWrapper_< Xapian::termpos > operator++(int)
Advance the iterator to the next position (postfix version).
PositionIterator() noexcept
Default constructor.
Xapian::termpos_diff difference_type
PositionIterator(PositionIterator &&o)
Move constructor.
~PositionIterator()
Destructor.
PositionIterator & operator=(PositionIterator &&o)
Move assignment operator.
Xapian::termpos value_type
std::input_iterator_tag iterator_category
Class for wrapping type returned by an input_iterator.
The Xapian namespace contains public interfaces for the Xapian library.
XAPIAN_TERMPOS_BASE_TYPE termpos_diff
A signed difference between two term positions.
bool operator==(const ESetIterator &a, const ESetIterator &b) noexcept
Equality test for ESetIterator objects.
bool operator!=(const ESetIterator &a, const ESetIterator &b) noexcept
Inequality test for ESetIterator objects.
const Query operator*(double factor, const Query &q)
Scale a Xapian::Query object using OP_SCALE_WEIGHT.
unsigned XAPIAN_TERMPOS_BASE_TYPE termpos
A term position within a document or query.
Define XAPIAN_VISIBILITY_* macros.
#define XAPIAN_VISIBILITY_DEFAULT
#define XAPIAN_VISIBILITY_INTERNAL