36 if (!first_did)
return false;
39 const string & tag = cursor->current_tag;
40 reader.assign(tag.data(), tag.size(), first_did);
53 return reader.get_docid();
66 return reader.get_value();
72 return cursor == NULL;
79 cursor = db->get_postlist_cursor();
82 }
else if (!reader.at_end()) {
84 if (!reader.at_end())
return;
88 if (!cursor->after_end()) {
89 if (update_reader()) {
90 if (!reader.at_end())
return;
103 cursor = db->get_postlist_cursor();
105 }
else if (!reader.at_end()) {
107 if (!reader.at_end())
return;
111 if (update_reader()) {
113 if (!reader.at_end())
return;
120 if (!cursor->after_end()) {
121 if (update_reader()) {
122 if (!reader.at_end())
return;
135 cursor = db->get_postlist_cursor();
136 if (!cursor)
return true;
137 }
else if (!reader.at_end()) {
140 if (!reader.at_end())
return true;
146 if (update_reader()) {
148 if (!reader.at_end())
return true;
154 Assert(!cursor->after_end());
155 if (!update_reader()) {
167 string desc(
"ChertValueList(slot=");
bool check(Xapian::docid did)
Check if the specified docid occurs in this valuestream.
Xapian::valueno get_valueno() const
Return the value slot for the current position/this iterator.
bool update_reader()
Update reader to use the chunk currently pointed to by cursor.
Xapian::docid get_docid() const
Return the docid at the current position.
std::string make_valuechunk_key(Xapian::valueno slot, Xapian::docid did)
Generate a key for a value stream chunk.
void next()
Advance the current position to the next document in the value stream.
Convert types to std::string.
bool at_end() const
Return true if the current position is past the last entry in this list.
std::string get_value() const
Return the value at the current position.
Interface to Btree cursors.
string str(int value)
Convert int to std::string.
Xapian::docid docid_from_key(Xapian::valueno required_slot, const std::string &key)
C++ class definition for chert database.
std::string get_description() const
Return a string description of this object.
unsigned valueno
The number for a value slot in a document.
Various assertion macros.
unsigned XAPIAN_DOCID_BASE_TYPE docid
A unique identifier for a document.
Chert class for value streams.
void skip_to(Xapian::docid)
Skip forward to the specified docid.