Kyoto Cabinet

- Main Page
- Namespaces
- Classes
- Files

- Class List
- Class Index
- Class Hierarchy
- Class Members

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.
PlantDB * | db ()
| 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:

  db | the 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:

  visitor | a visitor object.
  writable | true for writable operation, or false for read-only operation.
  step | true 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:

  kbuf | the pointer to the key region.
  ksiz | the 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:

  kbuf | the pointer to the key region.
  ksiz | the 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.