BranchPostList Class Reference

Base class for postlists which are generated by merging two sub-postlists. More...

#include <branchpostlist.h>

Inheritance diagram for BranchPostList:

Inheritance graph
[legend]
Collaboration diagram for BranchPostList:

Collaboration graph
[legend]

List of all members.

Public Member Functions

 BranchPostList (PostList *l_, PostList *r_, MultiMatch *matcher_)
virtual ~BranchPostList ()

Protected Member Functions

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-NULL result.

Protected Attributes

PostListl
 Left sub-postlist.
PostListr
 Right sub-postlist.
MultiMatchmatcher
 The object which is using this postlist to perform a match.

Private Member Functions

 BranchPostList (const BranchPostList &)
BranchPostListoperator= (const BranchPostList &)


Detailed Description

Base class for postlists which are generated by merging two sub-postlists.

These postlists form a tree which is used to perform a sum over all the terms in the query for each document, in order to calculate the score for that document.

Definition at line 36 of file branchpostlist.h.


Constructor & Destructor Documentation

BranchPostList::BranchPostList ( const BranchPostList  )  [private]

BranchPostList::BranchPostList ( PostList l_,
PostList r_,
MultiMatch matcher_ 
) [inline]

Definition at line 70 of file branchpostlist.h.

BranchPostList::~BranchPostList (  )  [virtual]

Definition at line 26 of file branchpostlist.cc.

References l, and r.


Member Function Documentation

void BranchPostList::handle_prune ( PostList *&  kid,
PostList ret 
) [inline, protected]

Utility method, to call recalc_maxweight() and do the pruning if a next() or skip_to() returns non-NULL result.

Definition at line 59 of file branchpostlist.h.

References matcher, and MultiMatch::recalc_maxweight().

Referenced by AndNotPostList::advance_to_next_match(), OrPostList::check(), OrPostList::next(), AndMaybePostList::process_next_or_skip_to(), and OrPostList::skip_to().

BranchPostList& BranchPostList::operator= ( const BranchPostList  )  [private]


Member Data Documentation

Left sub-postlist.

Definition at line 44 of file branchpostlist.h.

Referenced by AndNotPostList::advance_to_next_match(), AndMaybePostList::AndMaybePostList(), OrPostList::at_end(), OrPostList::check(), OrPostList::count_matching_subqs(), AndNotPostList::count_matching_subqs(), AndMaybePostList::count_matching_subqs(), OrPostList::get_description(), AndNotPostList::get_description(), AndMaybePostList::get_description(), OrPostList::get_doclength(), AndNotPostList::get_doclength(), AndMaybePostList::get_doclength(), AndNotPostList::get_maxweight(), OrPostList::get_termfreq_est(), AndNotPostList::get_termfreq_est(), AndMaybePostList::get_termfreq_est(), OrPostList::get_termfreq_est_using_stats(), AndNotPostList::get_termfreq_est_using_stats(), AndMaybePostList::get_termfreq_est_using_stats(), OrPostList::get_termfreq_max(), AndNotPostList::get_termfreq_max(), AndMaybePostList::get_termfreq_max(), OrPostList::get_termfreq_min(), AndNotPostList::get_termfreq_min(), AndMaybePostList::get_termfreq_min(), OrPostList::get_wdf(), AndNotPostList::get_wdf(), AndMaybePostList::get_wdf(), OrPostList::get_weight(), AndNotPostList::get_weight(), AndMaybePostList::get_weight(), OrPostList::next(), AndNotPostList::next(), AndMaybePostList::next(), AndMaybePostList::process_next_or_skip_to(), OrPostList::recalc_maxweight(), AndNotPostList::recalc_maxweight(), AndMaybePostList::recalc_maxweight(), OrPostList::skip_to(), AndNotPostList::skip_to(), AndMaybePostList::skip_to(), AndMaybePostList::sync_rhs(), and ~BranchPostList().

The object which is using this postlist to perform a match.

This object needs to be notified when the tree changes such that the maximum weights need to be recalculated.

Definition at line 54 of file branchpostlist.h.

Referenced by AndNotPostList::advance_to_next_match(), OrPostList::check(), handle_prune(), OrPostList::next(), AndMaybePostList::next(), AndMaybePostList::process_next_or_skip_to(), OrPostList::skip_to(), AndMaybePostList::skip_to(), and AndMaybePostList::sync_rhs().


The documentation for this class was generated from the following files:

Documentation for Xapian (version 1.2.8).
Generated on 14 Dec 2011 by Doxygen 1.5.9.