24 #ifndef OM_HGUARD_BRANCHPOSTLIST_H 25 #define OM_HGUARD_BRANCHPOSTLIST_H 72 : l(l_), r(r_), matcher(matcher_) {}
112 if (!p)
return false;
MultiMatch * matcher
The object which is using this postlist to perform a match.
Abstract base class for postlists.
class for performing a match
PostList * l
Left sub-postlist.
virtual Internal * skip_to(Xapian::docid did, double w_min)=0
Skip forward to the specified docid.
Base class for postlists which are generated by merging two sub-postlists.
Abstract base class for postlists.
bool skip_to_handling_prune(PostList *&pl, Xapian::docid did, double w_min, MultiMatch *matcher)
void handle_prune(PostList *&kid, PostList *ret)
Utility method, to call recalc_maxweight() and do the pruning if a next() or skip_to() returns non-NU...
virtual Internal * check(Xapian::docid did, double w_min, bool &valid)
Check if the specified docid occurs in this postlist.
BranchPostList(PostList *l_, PostList *r_, MultiMatch *matcher_)
BranchPostList(const BranchPostList &)
void recalc_maxweight()
Called by postlists to indicate that they've rearranged themselves and the maxweight now possible is ...
bool check_handling_prune(PostList *&pl, Xapian::docid did, double w_min, MultiMatch *matcher, bool &valid)
BranchPostList & operator=(const BranchPostList &)
bool next_handling_prune(PostList *&pl, double w_min, MultiMatch *matcher)
virtual Internal * next(double w_min)=0
Advance the current position to the next document in the postlist.
PostList * r
Right sub-postlist.
virtual ~BranchPostList()
unsigned XAPIAN_DOCID_BASE_TYPE docid
A unique identifier for a document.