30 using namespace Honey;
37 if (!last_did)
return false;
40 const string& tag = cursor->current_tag;
41 reader.assign(tag.data(), tag.size(), last_did);
54 return reader.get_docid();
67 return reader.get_value();
73 return cursor == NULL;
80 cursor = db->get_postlist_cursor();
83 }
else if (!reader.at_end()) {
85 if (!reader.at_end())
return;
89 if (!cursor->after_end()) {
90 if (update_reader()) {
91 if (!reader.at_end())
return;
104 cursor = db->get_postlist_cursor();
106 }
else if (!reader.at_end()) {
108 if (!reader.at_end())
return;
113 if (
rare(!update_reader())) {
118 if (!at_end())
return;
121 }
else if (!cursor->after_end()) {
122 if (update_reader()) {
124 if (!reader.at_end())
return;
139 string desc(
"HoneyValueList(slot=");
std::string get_value() const
Return the value at the current position.
Xapian::valueno get_valueno() const
Return the value slot for the current position/this iterator.
void skip_to(Xapian::docid)
Skip forward to the specified docid.
bool at_end() const
Return true if the current position is past the last entry in this list.
void next()
Advance the current position to the next document in the value stream.
Xapian::docid get_docid() const
Return the docid at the current position.
std::string get_description() const
Return a string description of this object.
bool update_reader()
Update reader to use the chunk currently pointed to by cursor.
Database using honey backend.
Honey class for value streams.
std::string make_valuechunk_key(Xapian::valueno slot, Xapian::docid last_did)
Generate a key for a value stream chunk.
Xapian::docid docid_from_key(const std::string &key)
string str(int value)
Convert int to std::string.
unsigned valueno
The number for a value slot in a document.
unsigned XAPIAN_DOCID_BASE_TYPE docid
A unique identifier for a document.
Various assertion macros.
Convert types to std::string.