| 
    xapian-core
    1.4.29
    
   | 
 
Base class for postlists which are generated by merging two sub-postlists. More...
#include <branchpostlist.h>
 Inheritance diagram for BranchPostList:
 Collaboration diagram for BranchPostList:Public Member Functions | |
| BranchPostList (PostList *l_, PostList *r_, MultiMatch *matcher_) | |
| virtual | ~BranchPostList () | 
  Public Member Functions inherited from Xapian::PostingIterator::Internal | |
| virtual | ~Internal () | 
| We have virtual methods and want to be able to delete derived classes using a pointer to the base class, so we need a virtual destructor.  More... | |
| virtual Xapian::doccount | get_termfreq_min () const =0 | 
| Get a lower bound on the number of documents indexed by this term.  More... | |
| virtual Xapian::doccount | get_termfreq_max () const =0 | 
| Get an upper bound on the number of documents indexed by this term.  More... | |
| virtual Xapian::doccount | get_termfreq_est () const =0 | 
| Get an estimate of the number of documents indexed by this term.  More... | |
| virtual TermFreqs | get_termfreq_est_using_stats (const Xapian::Weight::Internal &stats) const | 
| Get an estimate for the termfreq and reltermfreq, given the stats.  More... | |
| virtual double | get_maxweight () const =0 | 
| Return an upper bound on what get_weight() can return.  More... | |
| virtual Xapian::docid | get_docid () const =0 | 
| Return the current docid.  More... | |
| virtual Xapian::termcount | get_doclength () const =0 | 
| Return the length of current document.  More... | |
| virtual Xapian::termcount | get_unique_terms () const =0 | 
| Return the number of unique terms in the current document.  More... | |
| virtual Xapian::termcount | get_wdf () const | 
| Return the wdf for the document at the current position.  More... | |
| virtual double | get_weight () const =0 | 
| Return the weight contribution for the current position.  More... | |
| virtual const std::string * | get_sort_key () const | 
| virtual const std::string * | get_collapse_key () const | 
| If the collapse key is already known, return it.  More... | |
| virtual bool | at_end () const =0 | 
| Return true if the current position is past the last entry in this list.  More... | |
| virtual double | recalc_maxweight ()=0 | 
| Recalculate the upper bound on what get_weight() can return.  More... | |
| virtual PositionList * | read_position_list () | 
| Read the position list for the term in the current document and return a pointer to it (owned by the PostList).  More... | |
| virtual PositionList * | open_position_list () const | 
| Read the position list for the term in the current document and return a pointer to it (not owned by the PostList).  More... | |
| virtual Internal * | next (double w_min)=0 | 
| Advance the current position to the next document in the postlist.  More... | |
| virtual Internal * | skip_to (Xapian::docid did, double w_min)=0 | 
| Skip forward to the specified docid.  More... | |
| virtual Internal * | check (Xapian::docid did, double w_min, bool &valid) | 
| Check if the specified docid occurs in this postlist.  More... | |
| Internal * | next () | 
| Advance the current position to the next document in the postlist.  More... | |
| Internal * | skip_to (Xapian::docid did) | 
| Skip forward to the specified docid.  More... | |
| virtual Xapian::termcount | count_matching_subqs () const | 
| Count the number of leaf subqueries which match at the current position.  More... | |
| virtual void | gather_position_lists (OrPositionList *orposlist) | 
| Gather PositionList* objects for a subtree.  More... | |
| virtual std::string | get_description () const =0 | 
| Return a string description of this object.  More... | |
  Public Member Functions inherited from Xapian::Internal::intrusive_base | |
| intrusive_base () | |
| Construct with no references.  More... | |
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.  More... | |
  Protected Member Functions inherited from Xapian::PostingIterator::Internal | |
| Internal () | |
| Only constructable as a base class for derived classes.  More... | |
Protected Attributes | |
| PostList * | l | 
| Left sub-postlist.  More... | |
| PostList * | r | 
| Right sub-postlist.  More... | |
| MultiMatch * | matcher | 
| The object which is using this postlist to perform a match.  More... | |
Private Member Functions | |
| BranchPostList (const BranchPostList &) | |
| BranchPostList & | operator= (const BranchPostList &) | 
Additional Inherited Members | |
  Public Attributes inherited from Xapian::Internal::intrusive_base | |
| unsigned | _refs | 
| Reference count.  More... | |
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 37 of file branchpostlist.h.
      
  | 
  private | 
      
  | 
  inline | 
Definition at line 71 of file branchpostlist.h.
References ~BranchPostList().
      
  | 
  virtual | 
Definition at line 26 of file branchpostlist.cc.
Referenced by BranchPostList().
Utility method, to call recalc_maxweight() and do the pruning if a next() or skip_to() returns non-NULL result.
Definition at line 60 of file branchpostlist.h.
References MultiMatch::recalc_maxweight().
Referenced by AndNotPostList::advance_to_next_match(), OrPostList::check(), OrPostList::next(), AndMaybePostList::process_next_or_skip_to(), and OrPostList::skip_to().
      
  | 
  private | 
      
  | 
  protected | 
Left sub-postlist.
Definition at line 45 of file branchpostlist.h.
Referenced by AndNotPostList::advance_to_next_match(), AndMaybePostList::AndMaybePostList(), OrPostList::at_end(), OrPostList::check(), AndNotPostList::count_matching_subqs(), OrPostList::count_matching_subqs(), AndMaybePostList::count_matching_subqs(), OrPostList::gather_position_lists(), AndMaybePostList::gather_position_lists(), AndNotPostList::get_description(), OrPostList::get_description(), AndMaybePostList::get_description(), AndNotPostList::get_doclength(), OrPostList::get_doclength(), AndMaybePostList::get_doclength(), AndNotPostList::get_maxweight(), AndNotPostList::get_termfreq_est(), OrPostList::get_termfreq_est(), AndMaybePostList::get_termfreq_est(), AndNotPostList::get_termfreq_est_using_stats(), OrPostList::get_termfreq_est_using_stats(), AndMaybePostList::get_termfreq_est_using_stats(), AndNotPostList::get_termfreq_max(), OrPostList::get_termfreq_max(), AndMaybePostList::get_termfreq_max(), AndNotPostList::get_termfreq_min(), OrPostList::get_termfreq_min(), AndMaybePostList::get_termfreq_min(), AndNotPostList::get_unique_terms(), OrPostList::get_unique_terms(), AndMaybePostList::get_unique_terms(), AndNotPostList::get_wdf(), OrPostList::get_wdf(), AndMaybePostList::get_wdf(), AndNotPostList::get_weight(), OrPostList::get_weight(), AndMaybePostList::get_weight(), AndNotPostList::next(), OrPostList::next(), AndMaybePostList::next(), AndMaybePostList::process_next_or_skip_to(), AndNotPostList::recalc_maxweight(), OrPostList::recalc_maxweight(), AndMaybePostList::recalc_maxweight(), AndNotPostList::skip_to(), OrPostList::skip_to(), AndMaybePostList::skip_to(), AndMaybePostList::sync_rhs(), and ~BranchPostList().
      
  | 
  protected | 
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 55 of file branchpostlist.h.
Referenced by AndNotPostList::advance_to_next_match(), OrPostList::check(), OrPostList::next(), AndMaybePostList::next(), AndMaybePostList::process_next_or_skip_to(), OrPostList::skip_to(), AndMaybePostList::skip_to(), and AndMaybePostList::sync_rhs().
      
  | 
  protected | 
Right sub-postlist.
Definition at line 48 of file branchpostlist.h.
Referenced by AndNotPostList::advance_to_next_match(), AndMaybePostList::AndMaybePostList(), OrPostList::at_end(), OrPostList::check(), OrPostList::count_matching_subqs(), AndMaybePostList::count_matching_subqs(), OrPostList::gather_position_lists(), AndMaybePostList::gather_position_lists(), AndNotPostList::get_description(), OrPostList::get_description(), AndMaybePostList::get_description(), OrPostList::get_doclength(), AndMaybePostList::get_doclength(), AndNotPostList::get_termfreq_est(), OrPostList::get_termfreq_est(), AndNotPostList::get_termfreq_est_using_stats(), OrPostList::get_termfreq_est_using_stats(), OrPostList::get_termfreq_max(), AndNotPostList::get_termfreq_min(), OrPostList::get_termfreq_min(), OrPostList::get_unique_terms(), AndMaybePostList::get_unique_terms(), OrPostList::get_wdf(), AndMaybePostList::get_wdf(), OrPostList::get_weight(), AndMaybePostList::get_weight(), OrPostList::next(), AndMaybePostList::next(), AndMaybePostList::process_next_or_skip_to(), OrPostList::recalc_maxweight(), AndMaybePostList::recalc_maxweight(), OrPostList::skip_to(), AndMaybePostList::skip_to(), AndMaybePostList::sync_rhs(), and ~BranchPostList().