21 #ifndef XAPIAN_INCLUDED_TERMITERATOR_H
22 #define XAPIAN_INCLUDED_TERMITERATOR_H
24 #if !defined XAPIAN_IN_XAPIAN_H && !defined XAPIAN_LIB_BUILD
25 # error Never use <xapian/termiterator.h> directly; include <xapian.h> instead.
30 #include <string_view>
60 : internal(o.internal) {
67 if (
internal) decref();
68 internal = o.internal;
84 if (
internal) decref();
118 const std::string &
term(**
this);
132 void skip_to(std::string_view
term);
135 std::string get_description()
const;
173 return a.internal == b.internal;
Compiler attribute macros.
Class for iterating over term positions.
Abstract base class for termlists.
Class for iterating over a list of terms.
TermIterator(TermIterator &&o)
Move constructor.
PositionIterator positionlist_end() const noexcept
Return an end PositionIterator for the current term.
DerefWrapper_< std::string > operator++(int)
Advance the iterator to the next position (postfix version).
Xapian::termcount_diff difference_type
TermIterator & operator=(TermIterator &&o)
Move assignment operator.
~TermIterator()
Destructor.
TermIterator() noexcept
Default constructor.
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_TERMCOUNT_BASE_TYPE termcount_diff
A signed difference between two counts of terms.
unsigned XAPIAN_TERMCOUNT_BASE_TYPE termcount
A counts of terms.
unsigned XAPIAN_DOCID_BASE_TYPE doccount
A count of documents.
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.
Class for iterating over term positions.
Define XAPIAN_VISIBILITY_* macros.
#define XAPIAN_VISIBILITY_DEFAULT
#define XAPIAN_VISIBILITY_INTERNAL