lmdb++
Loading...
Searching...
No Matches
lmdb::txn Class Reference

Resource class for MDB_txn* handles. More...

#include <lmdb++.h>

Public Member Functions

 txn (MDB_txn *const handle) noexcept
 Constructor.
 
 txn (txn &&other) noexcept
 Move constructor.
 
txnoperator= (txn &&other) noexcept
 Move assignment operator.
 
 ~txn () noexcept
 Destructor.
 
 operator MDB_txn * () const noexcept
 Returns the underlying MDB_txn* handle.
 
MDB_txn * handle () const noexcept
 Returns the underlying MDB_txn* handle.
 
MDB_env * env () const noexcept
 Returns the transaction's MDB_env* handle.
 
void commit ()
 Commits this transaction.
 
void abort () noexcept
 Aborts this transaction.
 
void reset () noexcept
 Resets this read-only transaction.
 
void renew ()
 Renews this read-only transaction.
 

Static Public Member Functions

static txn begin (MDB_env *const env, MDB_txn *const parent=nullptr, const unsigned int flags=default_flags)
 Creates a new LMDB transaction.
 

Static Public Attributes

static constexpr unsigned int default_flags = 0
 

Protected Attributes

MDB_txn * _handle {nullptr}
 

Detailed Description

Resource class for MDB_txn* handles.

Note
Instances of this class are movable, but not copyable.
See also
http://symas.com/mdb/doc/group__internal.html#structMDB__txn

Constructor & Destructor Documentation

◆ txn() [1/2]

lmdb::txn::txn ( MDB_txn *const handle)
inlinenoexcept

Constructor.

Parameters
handlea valid MDB_txn* handle

◆ txn() [2/2]

lmdb::txn::txn ( txn && other)
inlinenoexcept

Move constructor.

◆ ~txn()

lmdb::txn::~txn ( )
inlinenoexcept

Destructor.

Member Function Documentation

◆ abort()

void lmdb::txn::abort ( )
inlinenoexcept

Aborts this transaction.

Postcondition
handle() == nullptr

◆ begin()

static txn lmdb::txn::begin ( MDB_env *const env,
MDB_txn *const parent = nullptr,
const unsigned int flags = default_flags )
inlinestatic

Creates a new LMDB transaction.

Parameters
envthe environment handle
parent
flags
Exceptions
lmdb::erroron failure

◆ commit()

void lmdb::txn::commit ( )
inline

Commits this transaction.

Exceptions
lmdb::erroron failure
Postcondition
handle() == nullptr

◆ env()

MDB_env * lmdb::txn::env ( ) const
inlinenoexcept

Returns the transaction's MDB_env* handle.

◆ handle()

MDB_txn * lmdb::txn::handle ( ) const
inlinenoexcept

Returns the underlying MDB_txn* handle.

◆ operator MDB_txn *()

lmdb::txn::operator MDB_txn * ( ) const
inlinenoexcept

Returns the underlying MDB_txn* handle.

◆ operator=()

txn & lmdb::txn::operator= ( txn && other)
inlinenoexcept

Move assignment operator.

◆ renew()

void lmdb::txn::renew ( )
inline

Renews this read-only transaction.

Exceptions
lmdb::erroron failure

◆ reset()

void lmdb::txn::reset ( )
inlinenoexcept

Resets this read-only transaction.

Member Data Documentation

◆ _handle

MDB_txn* lmdb::txn::_handle {nullptr}
protected

◆ default_flags

unsigned int lmdb::txn::default_flags = 0
staticconstexpr

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