lmdb++
Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected Attributes | List of all members
lmdb::txn Class Reference

Resource class for MDB_txn* handles. More...

#include <lmdb++.h>

Public Member Functions

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

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. More...
 

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

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

Constructor.

Parameters
handlea valid MDB_txn* handle
lmdb::txn::txn ( txn &&  other)
inlinenoexcept

Move constructor.

lmdb::txn::~txn ( )
inlinenoexcept

Destructor.

Member Function Documentation

void lmdb::txn::abort ( )
inlinenoexcept

Aborts this transaction.

Postcondition
handle() == nullptr
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
void lmdb::txn::commit ( )
inline

Commits this transaction.

Exceptions
lmdb::erroron failure
Postcondition
handle() == nullptr
MDB_env* lmdb::txn::env ( ) const
inlinenoexcept

Returns the transaction's MDB_env* handle.

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

Returns the underlying MDB_txn* handle.

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

Returns the underlying MDB_txn* handle.

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

Move assignment operator.

void lmdb::txn::renew ( )
inline

Renews this read-only transaction.

Exceptions
lmdb::erroron failure
void lmdb::txn::reset ( )
inlinenoexcept

Resets this read-only transaction.

Member Data Documentation

MDB_txn* lmdb::txn::_handle {nullptr}
protected
constexpr unsigned int lmdb::txn::default_flags = 0
static

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