xapian-core  1.4.27
Public Member Functions | List of all members
MutableGlassCursor Class Reference

#include <glass_cursor.h>

+ Inheritance diagram for MutableGlassCursor:
+ Collaboration diagram for MutableGlassCursor:

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...
 
GlassCursorclone () 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 GlassTableget_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 GlassTableB
 The Btree table. More...
 

Detailed Description

Definition at line 335 of file glass_cursor.h.

Constructor & Destructor Documentation

◆ MutableGlassCursor()

MutableGlassCursor::MutableGlassCursor ( GlassTable B_)
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.

Member Function Documentation

◆ del()

bool MutableGlassCursor::del ( )

Delete the current key/tag pair, leaving the cursor on the next entry.

Returns
false if the cursor ends up unpositioned.

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().


The documentation for this class was generated from the following files: