22 #ifndef XAPIAN_INCLUDED_TERMLISTMERGER_H
23 #define XAPIAN_INCLUDED_TERMLISTMERGER_H
36 template<
class ORTERMLIST = OrTermList>
40 if (termlists.size() <= 1) {
41 return termlists.size() == 1 ? termlists[0] : NULL;
64 Heap::pop(termlists.begin(), termlists.end(),
71 if (termlists.size() == 1)
74 termlists.front() = tl;
Abstract base class for termlists.
virtual Xapian::termcount get_approx_size() const =0
Return approximate size of this termlist.
C++ STL heap implementation with extensions.
void pop(_RandomAccessIterator first, _RandomAccessIterator last, _Compare comp)
void replace(_RandomAccessIterator first, _RandomAccessIterator last, _Compare comp)
void make(_RandomAccessIterator first, _RandomAccessIterator last, _Compare comp)
Various assertion macros.
#define AssertRel(A, REL, B)
Merge two TermList objects using an OR operation.
bool operator()(const TermList *a, const TermList *b) const
Abstract base class for termlists.
TermList * make_termlist_merger(std::vector< TermList * > &termlists)