| 
    xapian-core
    1.4.29
    
   | 
 
A postlist generated by taking one postlist (the left-hand postlist), and removing any documents which are in the other (right-hand) postlist. More...
#include <andnotpostlist.h>
 Inheritance diagram for AndNotPostList:
 Collaboration diagram for AndNotPostList:Public Member Functions | |
| Xapian::doccount | get_termfreq_max () const | 
| Get an upper bound on the number of documents indexed by this term.  More... | |
| Xapian::doccount | get_termfreq_min () const | 
| Get a lower bound on the number of documents indexed by this term.  More... | |
| Xapian::doccount | get_termfreq_est () const | 
| Get an estimate of the number of documents indexed by this term.  More... | |
| TermFreqs | get_termfreq_est_using_stats (const Xapian::Weight::Internal &stats) const | 
| Get an estimate for the termfreq and reltermfreq, given the stats.  More... | |
| Xapian::docid | get_docid () const | 
| Return the current docid.  More... | |
| double | get_weight () const | 
| Return the weight contribution for the current position.  More... | |
| double | get_maxweight () const | 
| Return an upper bound on what get_weight() can return.  More... | |
| double | recalc_maxweight () | 
| Recalculate the upper bound on what get_weight() can return.  More... | |
| PostList * | next (double w_min) | 
| Advance the current position to the next document in the postlist.  More... | |
| PostList * | skip_to (Xapian::docid did, double w_min) | 
| Skip forward to the specified docid.  More... | |
| bool | at_end () const | 
| Return true if the current position is past the last entry in this list.  More... | |
| std::string | get_description () const | 
| Return a string description of this object.  More... | |
| virtual Xapian::termcount | get_doclength () const | 
| Return the document length of the document the current term comes from.  More... | |
| virtual Xapian::termcount | get_unique_terms () const | 
| Return the number of unique terms in the current document.  More... | |
| AndNotPostList (PostList *left, PostList *right, MultiMatch *matcher_, Xapian::doccount dbsize_) | |
| PostList * | sync_and_skip_to (Xapian::docid id, double w_min, Xapian::docid lh, Xapian::docid rh) | 
| Xapian::termcount | get_wdf () const | 
| get_wdf() for ANDNOT postlists returns the wdf of the left hand side.  More... | |
| Xapian::termcount | count_matching_subqs () const | 
| Count the number of leaf subqueries which match at the current position.  More... | |
  Public Member Functions inherited from BranchPostList | |
| 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 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 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 * | 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 void | gather_position_lists (OrPositionList *orposlist) | 
| Gather PositionList* objects for a subtree.  More... | |
  Public Member Functions inherited from Xapian::Internal::intrusive_base | |
| intrusive_base () | |
| Construct with no references.  More... | |
Private Member Functions | |
| PostList * | advance_to_next_match (double w_min, PostList *ret) | 
Private Attributes | |
| Xapian::docid | lhead | 
| Xapian::docid | rhead | 
| Xapian::doccount | dbsize | 
| Number of documents in the database this postlist is across.  More... | |
Additional Inherited Members | |
  Public Attributes inherited from Xapian::Internal::intrusive_base | |
| unsigned | _refs | 
| Reference count.  More... | |
  Protected Member Functions inherited from BranchPostList | |
| 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 inherited from BranchPostList | |
| 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... | |
A postlist generated by taking one postlist (the left-hand postlist), and removing any documents which are in the other (right-hand) postlist.
The weight for a posting is the weight in the left-hand postlist.
Definition at line 35 of file andnotpostlist.h.
| AndNotPostList::AndNotPostList | ( | PostList * | left, | 
| PostList * | right, | ||
| MultiMatch * | matcher_, | ||
| Xapian::doccount | dbsize_ | ||
| ) | 
Definition at line 62 of file andnotpostlist.cc.
References LOGCALL_CTOR.
Definition at line 32 of file andnotpostlist.cc.
References Xapian::PostingIterator::Internal::at_end(), Xapian::PostingIterator::Internal::get_docid(), BranchPostList::handle_prune(), BranchPostList::l, lhead, LOGCALL, BranchPostList::matcher, next_handling_prune(), BranchPostList::r, RETURN, rhead, and skip_to_handling_prune().
      
  | 
  virtual | 
Return true if the current position is past the last entry in this list.
Implements Xapian::PostingIterator::Internal.
Definition at line 201 of file andnotpostlist.cc.
      
  | 
  virtual | 
Count the number of leaf subqueries which match at the current position.
Reimplemented from Xapian::PostingIterator::Internal.
Definition at line 235 of file andnotpostlist.cc.
References Xapian::PostingIterator::Internal::count_matching_subqs(), BranchPostList::l, LOGCALL, and RETURN.
      
  | 
  virtual | 
Return a string description of this object.
Implements Xapian::PostingIterator::Internal.
Definition at line 208 of file andnotpostlist.cc.
References Xapian::PostingIterator::Internal::get_description(), BranchPostList::l, and BranchPostList::r.
      
  | 
  virtual | 
Return the current docid.
Implements Xapian::PostingIterator::Internal.
Definition at line 169 of file andnotpostlist.cc.
      
  | 
  virtual | 
Return the document length of the document the current term comes from.
Implements Xapian::PostingIterator::Internal.
Definition at line 214 of file andnotpostlist.cc.
References Xapian::PostingIterator::Internal::get_doclength(), BranchPostList::l, LOGCALL, and RETURN.
      
  | 
  virtual | 
Return an upper bound on what get_weight() can return.
Implements Xapian::PostingIterator::Internal.
Definition at line 185 of file andnotpostlist.cc.
References Xapian::PostingIterator::Internal::get_maxweight(), BranchPostList::l, LOGCALL, and RETURN.
      
  | 
  virtual | 
Get an estimate of the number of documents indexed by this term.
It should always be true that: get_termfreq_min() <= get_termfreq_est() <= get_termfreq_max()
Implements Xapian::PostingIterator::Internal.
Definition at line 119 of file andnotpostlist.cc.
References Assert, dbsize, est(), Xapian::PostingIterator::Internal::get_termfreq_est(), BranchPostList::l, LOGCALL, BranchPostList::r, and RETURN.
      
  | 
  virtual | 
Get an estimate for the termfreq and reltermfreq, given the stats.
The frequencies may be for a combination of databases, or for just the relevant documents, so the results need not lie in the bounds given by get_termfreq_min() and get_termfreq_max().
Reimplemented from Xapian::PostingIterator::Internal.
Definition at line 133 of file andnotpostlist.cc.
References Assert, Xapian::Weight::Internal::collection_size, Xapian::PostingIterator::Internal::get_termfreq_est_using_stats(), BranchPostList::l, LOGCALL, BranchPostList::r, RETURN, Xapian::Weight::Internal::rset_size, and Xapian::Weight::Internal::total_length.
      
  | 
  virtual | 
Get an upper bound on the number of documents indexed by this term.
Implements Xapian::PostingIterator::Internal.
Definition at line 100 of file andnotpostlist.cc.
References Xapian::PostingIterator::Internal::get_termfreq_max(), BranchPostList::l, LOGCALL, and RETURN.
      
  | 
  virtual | 
Get a lower bound on the number of documents indexed by this term.
Implements Xapian::PostingIterator::Internal.
Definition at line 108 of file andnotpostlist.cc.
References Xapian::PostingIterator::Internal::get_termfreq_max(), Xapian::PostingIterator::Internal::get_termfreq_min(), BranchPostList::l, LOGCALL, BranchPostList::r, and RETURN.
      
  | 
  virtual | 
Return the number of unique terms in the current document.
Implements Xapian::PostingIterator::Internal.
Definition at line 221 of file andnotpostlist.cc.
References Xapian::PostingIterator::Internal::get_unique_terms(), BranchPostList::l, LOGCALL, and RETURN.
      
  | 
  virtual | 
get_wdf() for ANDNOT postlists returns the wdf of the left hand side.
Reimplemented from Xapian::PostingIterator::Internal.
Definition at line 228 of file andnotpostlist.cc.
References Xapian::PostingIterator::Internal::get_wdf(), BranchPostList::l, LOGCALL, and RETURN.
      
  | 
  virtual | 
Return the weight contribution for the current position.
Implements Xapian::PostingIterator::Internal.
Definition at line 177 of file andnotpostlist.cc.
References Xapian::PostingIterator::Internal::get_weight(), BranchPostList::l, LOGCALL, and RETURN.
      
  | 
  virtual | 
Advance the current position to the next document in the postlist.
The list starts before the first entry in the list, so next(), skip_to() or check() must be called before any methods which need the context of the current position.
| w_min | The minimum weight contribution that is needed (this is just a hint which PostList subclasses may ignore). | 
Implements Xapian::PostingIterator::Internal.
Definition at line 73 of file andnotpostlist.cc.
References advance_to_next_match(), BranchPostList::l, LOGCALL, Xapian::PostingIterator::Internal::next(), and RETURN.
      
  | 
  virtual | 
Recalculate the upper bound on what get_weight() can return.
If the tree has pruned, get_maxweight() may use cached values. Calling this method instead forces a full recalculation.
Note that this method may be called after the postlist has reached the end. In this situation, the method should return 0.
Implements Xapian::PostingIterator::Internal.
Definition at line 192 of file andnotpostlist.cc.
References BranchPostList::l, LOGCALL, Xapian::PostingIterator::Internal::recalc_maxweight(), and RETURN.
      
  | 
  virtual | 
Skip forward to the specified docid.
If the specified docid isn't in the list, position ourselves on the first document after it (or at_end() if no greater docids are present).
| w_min | The minimum weight contribution that is needed (this is just a hint which PostList subclasses may ignore). | 
Implements Xapian::PostingIterator::Internal.
Definition at line 92 of file andnotpostlist.cc.
References advance_to_next_match(), BranchPostList::l, lhead, LOGCALL, RETURN, and Xapian::PostingIterator::Internal::skip_to().
Referenced by sync_and_skip_to().
| PostList * AndNotPostList::sync_and_skip_to | ( | Xapian::docid | id, | 
| double | w_min, | ||
| Xapian::docid | lh, | ||
| Xapian::docid | rh | ||
| ) | 
      
  | 
  private | 
Number of documents in the database this postlist is across.
Definition at line 40 of file andnotpostlist.h.
Referenced by get_termfreq_est().
      
  | 
  private | 
Definition at line 37 of file andnotpostlist.h.
Referenced by advance_to_next_match(), at_end(), get_docid(), skip_to(), and sync_and_skip_to().
      
  | 
  private | 
Definition at line 37 of file andnotpostlist.h.
Referenced by advance_to_next_match(), and sync_and_skip_to().