Resource class for MDB_cursor*
handles.
More...
#include <lmdb++.h>
|
| cursor (MDB_cursor *const handle) noexcept |
| Constructor.
|
|
| cursor (cursor &&other) noexcept |
| Move constructor.
|
|
cursor & | operator= (cursor &&other) noexcept |
| Move assignment operator.
|
|
| ~cursor () noexcept |
| Destructor.
|
|
| operator MDB_cursor * () const noexcept |
| Returns the underlying MDB_cursor* handle.
|
|
MDB_cursor * | handle () const noexcept |
| Returns the underlying MDB_cursor* handle.
|
|
void | close () noexcept |
| Closes this cursor.
|
|
void | renew (MDB_txn *const txn) |
| Renews this cursor.
|
|
MDB_txn * | txn () const noexcept |
| Returns the cursor's transaction handle.
|
|
MDB_dbi | dbi () const noexcept |
| Returns the cursor's database handle.
|
|
bool | get (std::string_view &key, const MDB_cursor_op op) |
| Retrieves a key from the database.
|
|
bool | get (std::string_view &key, std::string_view &val, const MDB_cursor_op op) |
| Retrieves a key/value pair from the database.
|
|
bool | put (const std::string_view &key, const std::string_view &val, const unsigned int flags=0) |
| Stores key/data pairs into the database.
|
|
void | del (unsigned int flags=0) |
| Delete current key/data pair.
|
|
size_t | count () |
| Return count of duplicates for current key.
|
|
|
static cursor | open (MDB_txn *const txn, const MDB_dbi dbi) |
| Creates an LMDB cursor.
|
|
Resource class for MDB_cursor*
handles.
- Note
- Instances of this class are movable, but not copyable.
- See also
- http://symas.com/mdb/doc/group__internal.html#structMDB__cursor
◆ cursor() [1/2]
lmdb::cursor::cursor |
( |
MDB_cursor *const | handle | ) |
|
|
inlinenoexcept |
Constructor.
- Parameters
-
handle | a valid MDB_cursor* handle |
◆ cursor() [2/2]
lmdb::cursor::cursor |
( |
cursor && | other | ) |
|
|
inlinenoexcept |
◆ ~cursor()
lmdb::cursor::~cursor |
( |
| ) |
|
|
inlinenoexcept |
◆ close()
void lmdb::cursor::close |
( |
| ) |
|
|
inlinenoexcept |
Closes this cursor.
- Note
- this method is idempotent
- Postcondition
handle() == nullptr
◆ count()
size_t lmdb::cursor::count |
( |
| ) |
|
|
inline |
Return count of duplicates for current key.
This call is only valid on databases that support sorted duplicate data items MDB_DUPSORT.
◆ dbi()
MDB_dbi lmdb::cursor::dbi |
( |
| ) |
const |
|
inlinenoexcept |
Returns the cursor's database handle.
◆ del()
void lmdb::cursor::del |
( |
unsigned int | flags = 0 | ) |
|
|
inline |
Delete current key/data pair.
- Parameters
-
flags | Options for this operation. Values: MDB_NODUPDATA - delete all of the data items for the current key. This flag may only be specified if the database was opened with MDB_DUPSORT. |
◆ get() [1/2]
bool lmdb::cursor::get |
( |
std::string_view & | key, |
|
|
const MDB_cursor_op | op ) |
|
inline |
Retrieves a key from the database.
- Parameters
-
- Exceptions
-
◆ get() [2/2]
bool lmdb::cursor::get |
( |
std::string_view & | key, |
|
|
std::string_view & | val, |
|
|
const MDB_cursor_op | op ) |
|
inline |
Retrieves a key/value pair from the database.
- Parameters
-
- Exceptions
-
◆ handle()
MDB_cursor * lmdb::cursor::handle |
( |
| ) |
const |
|
inlinenoexcept |
Returns the underlying MDB_cursor*
handle.
◆ open()
static cursor lmdb::cursor::open |
( |
MDB_txn *const | txn, |
|
|
const MDB_dbi | dbi ) |
|
inlinestatic |
Creates an LMDB cursor.
- Parameters
-
txn | the transaction handle |
dbi | the database handle |
- Exceptions
-
◆ operator MDB_cursor *()
lmdb::cursor::operator MDB_cursor * |
( |
| ) |
const |
|
inlinenoexcept |
Returns the underlying MDB_cursor*
handle.
◆ operator=()
Move assignment operator.
◆ put()
bool lmdb::cursor::put |
( |
const std::string_view & | key, |
|
|
const std::string_view & | val, |
|
|
const unsigned int | flags = 0 ) |
|
inline |
Stores key/data pairs into the database.
The cursor is positioned at the new item, or on failure usually near it.
See MDB docs for flag values.
- Parameters
-
- Exceptions
-
◆ renew()
void lmdb::cursor::renew |
( |
MDB_txn *const | txn | ) |
|
|
inline |
Renews this cursor.
- Parameters
-
- Exceptions
-
◆ txn()
MDB_txn * lmdb::cursor::txn |
( |
| ) |
const |
|
inlinenoexcept |
Returns the cursor's transaction handle.
◆ _handle
MDB_cursor* lmdb::cursor::_handle {nullptr} |
|
protected |
◆ default_flags
unsigned int lmdb::cursor::default_flags = 0 |
|
staticconstexpr |
The documentation for this class was generated from the following file: