Kyoto Cabinet
Public Member Functions | Friends
kyotocabinet::PlantDB< BASEDB, DBTYPE >::Cursor Class Reference

Cursor to indicate a record. More...

#include <kcplantdb.h>

List of all members.

Public Member Functions

 Cursor (PlantDB *db)
 Constructor.
virtual ~Cursor ()
 Destructor.
bool accept (Visitor *visitor, bool writable=true, bool step=false)
 Accept a visitor to the current record.
bool jump ()
 Jump the cursor to the first record for forward scan.
bool jump (const char *kbuf, size_t ksiz)
 Jump the cursor to a record for forward scan.
bool jump (const std::string &key)
 Jump the cursor to a record for forward scan.
bool jump_back ()
 Jump the cursor to the last record for backward scan.
bool jump_back (const char *kbuf, size_t ksiz)
 Jump the cursor to a record for backward scan.
bool jump_back (const std::string &key)
 Jump the cursor to a record for backward scan.
bool step ()
 Step the cursor to the next record.
bool step_back ()
 Step the cursor to the previous record.
PlantDBdb ()
 Get the database object.

Friends

class PlantDB

Detailed Description

template<class BASEDB, uint8_t DBTYPE>
class kyotocabinet::PlantDB< BASEDB, DBTYPE >::Cursor

Cursor to indicate a record.


Constructor & Destructor Documentation

template<class BASEDB , uint8_t DBTYPE>
kyotocabinet::PlantDB< BASEDB, DBTYPE >::Cursor::Cursor ( PlantDB db) [explicit]

Constructor.

Parameters:
dbthe container database object.
template<class BASEDB , uint8_t DBTYPE>
virtual kyotocabinet::PlantDB< BASEDB, DBTYPE >::Cursor::~Cursor ( ) [virtual]

Destructor.

Reimplemented from kyotocabinet::BasicDB::Cursor.


Member Function Documentation

template<class BASEDB , uint8_t DBTYPE>
bool kyotocabinet::PlantDB< BASEDB, DBTYPE >::Cursor::accept ( Visitor visitor,
bool  writable = true,
bool  step = false 
) [virtual]

Accept a visitor to the current record.

Parameters:
visitora visitor object.
writabletrue for writable operation, or false for read-only operation.
steptrue to move the cursor to the next record, or false for no move.
Returns:
true on success, or false on failure.
Note:
The operation for each record is performed atomically and other threads accessing the same record are blocked. To avoid deadlock, any explicit database operation must not be performed in this function.

Implements kyotocabinet::DB::Cursor.

template<class BASEDB , uint8_t DBTYPE>
bool kyotocabinet::PlantDB< BASEDB, DBTYPE >::Cursor::jump ( ) [virtual]

Jump the cursor to the first record for forward scan.

Returns:
true on success, or false on failure.

Implements kyotocabinet::DB::Cursor.

template<class BASEDB , uint8_t DBTYPE>
bool kyotocabinet::PlantDB< BASEDB, DBTYPE >::Cursor::jump ( const char *  kbuf,
size_t  ksiz 
) [virtual]

Jump the cursor to a record for forward scan.

Parameters:
kbufthe pointer to the key region.
ksizthe size of the key region.
Returns:
true on success, or false on failure.

Implements kyotocabinet::DB::Cursor.

template<class BASEDB , uint8_t DBTYPE>
bool kyotocabinet::PlantDB< BASEDB, DBTYPE >::Cursor::jump ( const std::string &  key) [virtual]

Jump the cursor to a record for forward scan.

Note:
Equal to the original Cursor::jump method except that the parameter is std::string.

Implements kyotocabinet::DB::Cursor.

template<class BASEDB , uint8_t DBTYPE>
bool kyotocabinet::PlantDB< BASEDB, DBTYPE >::Cursor::jump_back ( ) [virtual]

Jump the cursor to the last record for backward scan.

Returns:
true on success, or false on failure.
Note:
This method is dedicated to tree databases. Some database types, especially hash databases, may provide a dummy implementation.

Implements kyotocabinet::DB::Cursor.

template<class BASEDB , uint8_t DBTYPE>
bool kyotocabinet::PlantDB< BASEDB, DBTYPE >::Cursor::jump_back ( const char *  kbuf,
size_t  ksiz 
) [virtual]

Jump the cursor to a record for backward scan.

Parameters:
kbufthe pointer to the key region.
ksizthe size of the key region.
Returns:
true on success, or false on failure.

Implements kyotocabinet::DB::Cursor.

template<class BASEDB , uint8_t DBTYPE>
bool kyotocabinet::PlantDB< BASEDB, DBTYPE >::Cursor::jump_back ( const std::string &  key) [virtual]

Jump the cursor to a record for backward scan.

Note:
Equal to the original Cursor::jump_back method except that the parameter is std::string.

Implements kyotocabinet::DB::Cursor.

template<class BASEDB , uint8_t DBTYPE>
bool kyotocabinet::PlantDB< BASEDB, DBTYPE >::Cursor::step ( ) [virtual]

Step the cursor to the next record.

Returns:
true on success, or false on failure.

Implements kyotocabinet::DB::Cursor.

template<class BASEDB , uint8_t DBTYPE>
bool kyotocabinet::PlantDB< BASEDB, DBTYPE >::Cursor::step_back ( ) [virtual]

Step the cursor to the previous record.

Returns:
true on success, or false on failure.

Implements kyotocabinet::DB::Cursor.

template<class BASEDB , uint8_t DBTYPE>
PlantDB* kyotocabinet::PlantDB< BASEDB, DBTYPE >::Cursor::db ( ) [virtual]

Get the database object.

Returns:
the database object.

Implements kyotocabinet::BasicDB::Cursor.