|
xapian-core
2.0.0
|
Base class for a PostList which wraps another PostList. More...
#include <wrapperpostlist.h>
Inheritance diagram for WrapperPostList:
Collaboration diagram for WrapperPostList:Public Member Functions | |
| WrapperPostList (PostList *pl_) | |
| ~WrapperPostList () | |
| Xapian::docid | get_docid () const |
| Return the current docid. More... | |
| double | get_weight (Xapian::termcount doclen, Xapian::termcount unique_terms, Xapian::termcount wdfdocmax) const |
| Return the weight contribution for the current position. More... | |
| bool | at_end () const |
| Return true if the current position is past the last entry in this list. More... | |
| double | recalc_maxweight () |
| Recalculate the upper bound on what get_weight() can return. More... | |
| 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... | |
| PostList * | next (double w_min) |
| Advance the current position to the next document in the postlist. More... | |
| PostList * | skip_to (Xapian::docid, double w_min) |
| Skip forward to the specified docid. More... | |
| std::string | get_description () const |
| Return a string description of this object. More... | |
| Xapian::termcount | get_wdf () const |
| Return the wdf for the document at the current position. 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 Xapian::Internal::PostList | |
| virtual | ~PostList () |
| 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... | |
| Xapian::doccount | get_termfreq () const |
| Get an estimate of the number of documents this PostList will return. 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 PostList * | check (Xapian::docid did, double w_min, bool &valid) |
| Check if the specified docid occurs in this postlist. More... | |
| PostList * | next () |
| Advance the current position to the next document in the postlist. More... | |
| PostList * | 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... | |
| virtual void | get_docid_range (docid &first, docid &last) const |
| Get the bounds on the range of docids this PostList can return. More... | |
Protected Attributes | |
| PostList * | pl |
Protected Attributes inherited from Xapian::Internal::PostList | |
| Xapian::doccount | termfreq |
| Estimate of the number of documents this PostList will return. More... | |
Private Member Functions | |
| void | operator= (const WrapperPostList &)=delete |
| Don't allow assignment. More... | |
| WrapperPostList (const WrapperPostList &)=delete | |
| Don't allow copying. More... | |
Additional Inherited Members | |
Protected Member Functions inherited from Xapian::Internal::PostList | |
| PostList () | |
| Only constructable as a base class for derived classes. More... | |
Base class for a PostList which wraps another PostList.
Generally methods are just forwarded to the wrapped PostList. For next() and skip_to(), the return value is also handled, so the wrapped PostList is updated when pruning happens.
Definition at line 32 of file wrapperpostlist.h.
|
privatedelete |
Don't allow copying.
|
inlineexplicit |
Definition at line 43 of file wrapperpostlist.h.
References Xapian::Internal::PostList::get_termfreq(), pl, and Xapian::Internal::PostList::termfreq.
|
inline |
Definition at line 47 of file wrapperpostlist.h.
References pl.
|
virtual |
Return true if the current position is past the last entry in this list.
Implements Xapian::Internal::PostList.
Definition at line 40 of file wrapperpostlist.cc.
References Xapian::Internal::PostList::at_end(), and pl.
|
virtual |
Count the number of leaf subqueries which match at the current position.
Reimplemented from Xapian::Internal::PostList.
Definition at line 92 of file wrapperpostlist.cc.
References Xapian::Internal::PostList::count_matching_subqs(), and pl.
|
virtual |
Return a string description of this object.
Implements Xapian::Internal::PostList.
Definition at line 80 of file wrapperpostlist.cc.
References Xapian::Internal::PostList::get_description(), and pl.
|
virtual |
Return the current docid.
Implements Xapian::Internal::PostList.
Definition at line 26 of file wrapperpostlist.cc.
References Xapian::Internal::PostList::get_docid(), and pl.
|
virtual |
Return the wdf for the document at the current position.
The default implementation throws Xapian::UnimplementedError.
Reimplemented from Xapian::Internal::PostList.
Definition at line 86 of file wrapperpostlist.cc.
References Xapian::Internal::PostList::get_wdf(), and pl.
Referenced by SynonymPostList::get_weight().
|
virtual |
Return the weight contribution for the current position.
Implements Xapian::Internal::PostList.
Definition at line 32 of file wrapperpostlist.cc.
References Xapian::Internal::PostList::get_weight(), and pl.
|
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::Internal::PostList.
Definition at line 58 of file wrapperpostlist.cc.
References Xapian::Internal::PostList::next(), and pl.
|
privatedelete |
Don't allow assignment.
|
virtual |
Read the position list for the term in the current document and return a pointer to it (owned by the PostList).
The default implementation throws Xapian::UnimplementedError.
Reimplemented from Xapian::Internal::PostList.
Definition at line 52 of file wrapperpostlist.cc.
References pl, and Xapian::Internal::PostList::read_position_list().
|
virtual |
Recalculate the upper bound on what get_weight() can return.
The maximum weight that get_weight() can return can decrease as the match progresses (typically when the PostList tree prunes) - calling this method calculates a current upper bound.
Note that this method may be called after the postlist has reached the end. In this situation, the method should return 0.
Implements Xapian::Internal::PostList.
Definition at line 46 of file wrapperpostlist.cc.
References pl, and Xapian::Internal::PostList::recalc_maxweight().
|
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::Internal::PostList.
Definition at line 69 of file wrapperpostlist.cc.
References pl, and Xapian::Internal::PostList::skip_to().
Referenced by SynonymPostList::skip_to().
|
protected |
Definition at line 40 of file wrapperpostlist.h.
Referenced by AndNotPostList::AndNotPostList(), SelectPostList::at_end(), at_end(), SelectPostList::check(), count_matching_subqs(), ExactPhrasePostList::ExactPhrasePostList(), ExactPhrasePostList::get_description(), NearPostList::get_description(), PhrasePostList::get_description(), get_description(), get_docid(), get_wdf(), SelectPostList::get_weight(), get_weight(), NearPostList::NearPostList(), SelectPostList::next(), next(), PhrasePostList::PhrasePostList(), read_position_list(), recalc_maxweight(), SelectPostList::skip_to(), skip_to(), SelectPostList::vet(), WrapperPostList(), and ~WrapperPostList().