xapian-core
1.4.27
|
#include <glass_cursor.h>
Public Member Functions | |
MutableGlassCursor (GlassTable *B_) | |
Create a mutable cursor attached to a Btree. More... | |
bool | del () |
Delete the current key/tag pair, leaving the cursor on the next entry. More... | |
Public Member Functions inherited from GlassCursor | |
GlassCursor (const GlassTable *B, const Glass::Cursor *C_=NULL) | |
Create a cursor attached to a Btree. More... | |
GlassCursor * | clone () const |
Clone a cursor. More... | |
~GlassCursor () | |
Destroy the GlassCursor. More... | |
bool | read_tag (bool keep_compressed=false) |
Read the tag from the table and store it in current_tag. More... | |
bool | next () |
Advance to the next key. More... | |
bool | find_entry (const string &key) |
Position the cursor on the highest entry with key <= key. More... | |
bool | find_exact (const string &key) |
Position the cursor exactly on a key. More... | |
void | find_entry_lt (const string &key) |
Position the cursor on the highest entry with key < key. More... | |
bool | find_entry_ge (const string &key) |
Position the cursor on the lowest entry with key >= key. More... | |
void | to_end () |
Set the cursor to be off the end of the table. More... | |
bool | after_end () const |
Determine whether cursor is off the end of table. More... | |
const GlassTable * | get_table () const |
Return a pointer to the GlassTable we're a cursor for. More... | |
Additional Inherited Members | |
Public Attributes inherited from GlassCursor | |
string | current_key |
Current key pointed to by cursor. More... | |
string | current_tag |
Current tag pointed to by cursor. More... | |
Protected Attributes inherited from GlassCursor | |
bool | is_positioned |
Whether the cursor is positioned at a valid entry. More... | |
bool | is_after_end |
Whether the cursor is off the end of the table. More... | |
const GlassTable * | B |
The Btree table. More... | |
Definition at line 335 of file glass_cursor.h.
|
inlineexplicit |
Create a mutable cursor attached to a Btree.
A mutable cursor allows the items to be deleted.
Creates a cursor, which can be used to remember a position inside the B-tree. The position is simply the item (key and tag) to which the cursor points. A cursor is either positioned or unpositioned, and is initially unpositioned.
NB: You must not try to use a MutableGlassCursor after the Btree it is attached to is destroyed. It's safe to destroy the MutableGlassCursor after the Btree though, you just may not use the MutableGlassCursor.
Definition at line 350 of file glass_cursor.h.
bool MutableGlassCursor::del | ( | ) |
Delete the current key/tag pair, leaving the cursor on the next entry.
Definition at line 321 of file glass_cursor.cc.
References Assert, GlassCursor::B, GlassCursor::current_key, GlassCursor::find_entry_ge(), GlassCursor::is_after_end, GlassCursor::is_positioned, and GlassCursor::next().
Referenced by GlassPostListTable::merge_changes().