# kyotocabinet::DB::Visitor Class Reference

Interface to access a record. More...

`#include <kcdb.h>`

List of all members.

## Public Member Functions

virtual | ~Visitor ()
| Destructor.
virtual const char * | visit_full (const char *kbuf, size_t ksiz, const char *vbuf, size_t vsiz, size_t *sp)
| Visit a record.
virtual const char * | visit_empty (const char *kbuf, size_t ksiz, size_t *sp)
| Visit a empty record space.
virtual void | visit_before ()
| Preprocess the main operations.
virtual void | visit_after ()
| Postprocess the main operations.

## Static Public Attributes

static const char *const | NOP
| Special pointer for no operation.
static const char *const | REMOVE
| Special pointer to remove the record.

## Detailed Description

Interface to access a record.

## Constructor & Destructor Documentation

virtual kyotocabinet::DB::Visitor::~Visitor | ( |  | ) | `[virtual]`

Destructor.

## Member Function Documentation

virtual const char* kyotocabinet::DB::Visitor::visit_full | ( | const char * | kbuf,
|  | size_t | ksiz,
|  | const char * | vbuf,
|  | size_t | vsiz,
|  | size_t * | sp
| ) |  | `[virtual]`

Visit a record.

Parameters:

  kbuf | the pointer to the key region.
  ksiz | the size of the key region.
  vbuf | the pointer to the value region.
  vsiz | the size of the value region.
  sp | the pointer to the variable into which the size of the region of the return value is assigned.

Returns:
  If it is the pointer to a region, the value is replaced by the content. If it is Visitor::NOP, nothing is modified. If it is Visitor::REMOVE, the record is removed.

virtual const char* kyotocabinet::DB::Visitor::visit_empty | ( | const char * | kbuf,
|  | size_t | ksiz,
|  | size_t * | sp
| ) |  | `[virtual]`

Visit a empty record space.

Parameters:

  kbuf | the pointer to the key region.
  ksiz | the size of the key region.
  sp | the pointer to the variable into which the size of the region of the return value is assigned.

Returns:
  If it is the pointer to a region, the value is replaced by the content. If it is Visitor::NOP or Visitor::REMOVE, nothing is modified.

virtual void kyotocabinet::DB::Visitor::visit_before | ( |  | ) | `[virtual]`

Preprocess the main operations.

virtual void kyotocabinet::DB::Visitor::visit_after | ( |  | ) | `[virtual]`

Postprocess the main operations.

## Member Data Documentation

const char* const kyotocabinet::DB::Visitor::NOP `[static]`

Special pointer for no operation.

const char* const kyotocabinet::DB::Visitor::REMOVE `[static]`

Special pointer to remove the record.