36 while (
it !=
mods.end() &&
it->second.first ==
'D' &&
39 if (
it ==
mods.end())
return;
41 if (
it->second.first !=
'D')
return;
45 while (
it !=
mods.end() &&
it->second.first ==
'D') ++
it;
88 if (
it !=
mods.end() &&
it->first <= unmod_did) {
89 if (
it->first < unmod_did)
return it->second.second;
90 return it->second.second;
128 if (
it !=
mods.end() &&
it->first <= unmod_did) {
129 if (
it->first < unmod_did &&
it->second.first !=
'D') {
147 while (
it !=
mods.end() &&
it->first < desired_did) ++
it;
160 std::string desc =
"ChertModifiedPostList(";
Abstract base class for postlists.
map< Xapian::docid, pair< char, Xapian::termcount > > mods
Modifications to apply to the ChertPostList.
Xapian::termcount get_doclength() const
Returns the length of current document.
Xapian::doccount get_termfreq() const
Return the exact term frequency.
Xapian::termcount get_doclength() const
Return the length of current document.
PositionList * read_position_list()
Read the position list for the term in the current document and return a pointer to it (owned by the ...
std::string get_description() const
Get a description of the document.
std::string term
The term name for this postlist (empty for an alldocs postlist).
PositionList * open_position_list(Xapian::docid did, const string &term) const
Virtual methods of Database::Internal.
Xapian::docid get_docid() const
Returns the current docid.
PositionList * open_position_list() const
Get the list of positions of the term in the current document.
void skip_deletes(double w_min)
Skip over deleted documents after a next() or skip_to().
Xapian::termcount get_unique_terms() const
Return the number of unique terms in the current document.
Xapian::termcount get_unique_terms(Xapian::docid did) const
Virtual methods of Database::Internal.
unsigned XAPIAN_TERMCOUNT_BASE_TYPE termcount
A counts of terms.
bool at_end() const
Return true if the current position is past the last entry in this list.
Xapian::termcount get_wdf() const
Return the wdf for the document at the current position.
bool have_started
Whether we've started reading the list yet.
std::string get_description() const
Return a string description of this object.
Internal * next()
Advance the current position to the next document in the postlist.
Xapian::termcount get_unique_terms() const
Return the number of unique terms in the current document.
PositionList * read_position_list()
Get the list of positions of the term in the current document.
PositionList * poslist
Pointer to PositionList returned from read_position_list to be deleted.
bool at_end() const
Return true if and only if we're off the end of the list.
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 ...
C++ class definition for chert database.
A ChertPostList plus pending modifications.
Xapian::docid get_docid() const
Return the current docid.
Xapian::Internal::intrusive_ptr< const ChertDatabase > this_db
The database we are searching.
unsigned XAPIAN_DOCID_BASE_TYPE doccount
A count of documents.
Xapian::termcount get_doclength(Xapian::docid did) const
Virtual methods of Database::Internal.
map< Xapian::docid, pair< char, Xapian::termcount > >::const_iterator it
Modifications to apply to the ChertPostList.
unsigned XAPIAN_DOCID_BASE_TYPE docid
A unique identifier for a document.
Abstract base class for iterating term positions in a document.
PostList * skip_to(Xapian::docid desired_did, double w_min)
Skip forward to the specified docid.
PostList * skip_to(Xapian::docid desired_did, double w_min)
Skip to next document with docid >= docid.
Xapian::termcount get_wdf() const
Returns the Within Document Frequency of the term in the current document.
#define LOGCALL(CATEGORY, TYPE, FUNC, PARAMS)
void get_freqs(const string &term, Xapian::doccount *termfreq_ptr, Xapian::termcount *collfreq_ptr) const
Virtual methods of Database::Internal.