libmdbx  0.13.0.37 (2024-04-04T17:32:49+03:00)
One of the fastest compact embeddable key-value ACID database without WAL.
mdbx Namespace Reference

The libmdbx C++ API namespace. More...

Namespaces

 allocation_aware_details
 

Classes

class  buffer
 The chunk of data stored inside the buffer or located outside it. More...
 
class  exception_thunk
 Transfers C++ exceptions thru C callbacks. More...
 
class  error
 Implements error information and throwing corresponding exceptions. More...
 
class  exception
 Base class for all libmdbx's exceptions that are corresponds to libmdbx errors. More...
 
class  fatal
 Fatal exception that lead termination anyway in dangerous unrecoverable cases. More...
 
struct  bad_map_id
 
struct  bad_transaction
 
struct  bad_value_size
 
struct  db_corrupted
 
struct  db_full
 
struct  db_invalid
 
struct  db_too_large
 
struct  db_unable_extend
 
struct  db_version_mismatch
 
struct  db_wanna_write_for_recovery
 
struct  incompatible_operation
 
struct  internal_page_full
 
struct  internal_problem
 
struct  key_exists
 
struct  key_mismatch
 
struct  max_maps_reached
 
struct  max_readers_reached
 
struct  multivalue
 
struct  no_data
 
struct  not_found
 
struct  operation_not_permitted
 
struct  permission_denied_or_not_writeable
 
struct  reader_slot_busy
 
struct  remote_media
 
struct  something_busy
 
struct  thread_mismatch
 
struct  transaction_full
 
struct  transaction_overlapping
 
struct  duplicated_lck_file
 
struct  dangling_map_id
 
struct  slice
 References a data located outside the slice. More...
 
struct  default_capacity_policy
 
struct  to_hex
 Hexadecimal encoder which satisfy SliceTranscoder concept. More...
 
struct  to_base58
 Base58 encoder which satisfy SliceTranscoder concept. More...
 
struct  to_base64
 Base64 encoder which satisfy SliceTranscoder concept. More...
 
struct  from_hex
 Hexadecimal decoder which satisfy SliceTranscoder concept. More...
 
struct  from_base58
 Base58 decoder which satisfy SliceTranscoder concept. More...
 
struct  from_base64
 Base64 decoder which satisfy SliceTranscoder concept. More...
 
struct  value_result
 Combines data slice with boolean flag to represent result of certain operations. More...
 
struct  pair
 Combines pair of slices for key and value to represent result of certain operations. More...
 
struct  pair_result
 Combines pair of slices for key and value with boolean flag to represent result of certain operations. More...
 
struct  buffer_pair_spec
 
struct  map_handle
 A handle for an individual database (key-value spaces) in the environment. More...
 
class  env
 Unmanaged database environment. More...
 
class  env_managed
 Managed database environment. More...
 
class  txn
 Unmanaged database transaction. More...
 
class  txn_managed
 Managed database transaction. More...
 
class  cursor
 Unmanaged cursor. More...
 
class  cursor_managed
 Managed cursor. More...
 

Typedefs

using byte = char8_t
 
using version_info = ::MDBX_version_info
 libmdbx version information More...
 
using build_info = ::MDBX_build_info
 libmdbx build information More...
 
using legacy_allocator = ::std::string::allocator_type
 Legacy allocator but it is recommended to use polymorphic_allocator. More...
 
using polymorphic_allocator = ::std::pmr::string::allocator_type
 Default polymorphic allocator for modern code. More...
 
using default_allocator = polymorphic_allocator
 
using default_buffer = buffer< default_allocator, default_capacity_policy >
 Default buffer. More...
 
template<class ALLOCATOR = default_allocator>
using string = ::std::basic_string< char, ::std::char_traits< char >, ALLOCATOR >
 Default single-byte string. More...
 
using filehandle = ::mdbx_filehandle_t
 
using path = ::mdbx::filesystem::path
 
using duration = ::std::chrono::duration< unsigned, ::std::ratio< 1, 65536 > >
 Duration in 1/65536 units of second. More...
 
template<typename BUFFER >
using buffer_pair = buffer_pair_spec< typename BUFFER::allocator_type, typename BUFFER::reservation_policy >
 
using comparator = ::MDBX_cmp_func *
 

Enumerations

enum  loop_control { continue_loop = 0 , exit_loop = INT32_MIN }
 Loop control constants for readers enumeration functor and other cases. More...
 
enum class  key_mode { usual = MDBX_DB_DEFAULTS , reverse = MDBX_REVERSEKEY , ordinal = MDBX_INTEGERKEY , msgpack = -1 }
 Kinds of the keys and corresponding modes of comparing it. More...
 
enum class  value_mode {
  single = MDBX_DB_DEFAULTS , multi , multi_reverse , multi_samelength ,
  multi_ordinal , multi_reverse_samelength , msgpack = -1
}
 Kind of the values and sorted multi-values with corresponding comparison. More...
 
enum  put_mode { insert_unique = MDBX_NOOVERWRITE , upsert = MDBX_UPSERT , update = MDBX_CURRENT }
 Key-value pairs put mode. More...
 

Functions

constexpr const version_infoget_version () noexcept
 Returns libmdbx version information. More...
 
constexpr const build_infoget_build () noexcept
 Returns libmdbx build information. More...
 
LIBMDBX_API void throw_too_small_target_buffer ()
 
LIBMDBX_API void throw_max_length_exceeded ()
 
LIBMDBX_API void throw_out_range ()
 
LIBMDBX_API void throw_allocators_mismatch ()
 
LIBMDBX_API void throw_bad_value_size ()
 
LIBMDBX_API void throw_incomparable_cursors ()
 
template<class ALLOCATOR = default_allocator, typename CAPACITY_POLICY = default_capacity_policy, MutableByteProducer PRODUCER>
buffer< ALLOCATOR, CAPACITY_POLICY > make_buffer (PRODUCER &producer, const ALLOCATOR &allocator=ALLOCATOR())
 
template<class ALLOCATOR = default_allocator, typename CAPACITY_POLICY = default_capacity_policy, ImmutableByteProducer PRODUCER>
buffer< ALLOCATOR, CAPACITY_POLICY > make_buffer (const PRODUCER &producer, const ALLOCATOR &allocator=ALLOCATOR())
 
template<class ALLOCATOR = default_allocator, MutableByteProducer PRODUCER>
string< ALLOCATOR > make_string (PRODUCER &producer, const ALLOCATOR &allocator=ALLOCATOR())
 
template<class ALLOCATOR = default_allocator, ImmutableByteProducer PRODUCER>
string< ALLOCATOR > make_string (const PRODUCER &producer, const ALLOCATOR &allocator=ALLOCATOR())
 
inline ::std::ostream & operator<< (::std::ostream &out, const to_hex &wrapper)
 
inline ::std::ostream & operator<< (::std::ostream &out, const to_base58 &wrapper)
 
inline ::std::ostream & operator<< (::std::ostream &out, const to_base64 &wrapper)
 
MDBX_CXX01_CONSTEXPR_ENUM bool is_usual (key_mode mode) noexcept
 
MDBX_CXX01_CONSTEXPR_ENUM bool is_ordinal (key_mode mode) noexcept
 
MDBX_CXX01_CONSTEXPR_ENUM bool is_samelength (key_mode mode) noexcept
 
MDBX_CXX01_CONSTEXPR_ENUM bool is_reverse (key_mode mode) noexcept
 
MDBX_CXX01_CONSTEXPR_ENUM bool is_msgpack (key_mode mode) noexcept
 
MDBX_CXX01_CONSTEXPR_ENUM bool is_usual (value_mode mode) noexcept
 
MDBX_CXX01_CONSTEXPR_ENUM bool is_multi (value_mode mode) noexcept
 
MDBX_CXX01_CONSTEXPR_ENUM bool is_ordinal (value_mode mode) noexcept
 
MDBX_CXX01_CONSTEXPR_ENUM bool is_samelength (value_mode mode) noexcept
 
MDBX_CXX01_CONSTEXPR_ENUM bool is_reverse (value_mode mode) noexcept
 
MDBX_CXX01_CONSTEXPR_ENUM bool is_msgpack (value_mode mode) noexcept
 
comparator default_comparator (key_mode mode) noexcept
 
comparator default_comparator (value_mode mode) noexcept
 
LIBMDBX_API ::std::ostream & operator<< (::std::ostream &, const slice &)
 
LIBMDBX_API ::std::ostream & operator<< (::std::ostream &, const pair &)
 
LIBMDBX_API ::std::ostream & operator<< (::std::ostream &, const pair_result &)
 
template<class ALLOCATOR , typename CAPACITY_POLICY >
inline ::std::ostream & operator<< (::std::ostream &out, const buffer< ALLOCATOR, CAPACITY_POLICY > &it)
 
LIBMDBX_API ::std::ostream & operator<< (::std::ostream &, const env::geometry::size &)
 
LIBMDBX_API ::std::ostream & operator<< (::std::ostream &, const env::geometry &)
 
LIBMDBX_API ::std::ostream & operator<< (::std::ostream &, const env::operate_parameters &)
 
LIBMDBX_API ::std::ostream & operator<< (::std::ostream &, const env::mode &)
 
LIBMDBX_API ::std::ostream & operator<< (::std::ostream &, const env::durability &)
 
LIBMDBX_API ::std::ostream & operator<< (::std::ostream &, const env::reclaiming_options &)
 
LIBMDBX_API ::std::ostream & operator<< (::std::ostream &, const env::operate_options &)
 
LIBMDBX_API ::std::ostream & operator<< (::std::ostream &, const env_managed::create_parameters &)
 
LIBMDBX_API ::std::ostream & operator<< (::std::ostream &, const MDBX_log_level_t &)
 
LIBMDBX_API ::std::ostream & operator<< (::std::ostream &, const MDBX_debug_flags_t &)
 
LIBMDBX_API ::std::ostream & operator<< (::std::ostream &, const error &)
 
inline ::std::ostream & operator<< (::std::ostream &out, const MDBX_error_t &errcode)
 
constexpr bool operator== (const error &a, const error &b) noexcept
 
constexpr bool operator!= (const error &a, const error &b) noexcept
 
constexpr bool operator== (const slice &a, const slice &b) noexcept
 
constexpr bool operator< (const slice &a, const slice &b) noexcept
 
constexpr bool operator> (const slice &a, const slice &b) noexcept
 
constexpr bool operator<= (const slice &a, const slice &b) noexcept
 
constexpr bool operator>= (const slice &a, const slice &b) noexcept
 
constexpr bool operator!= (const slice &a, const slice &b) noexcept
 
constexpr bool operator== (const pair &a, const pair &b) noexcept
 
constexpr bool operator< (const pair &a, const pair &b) noexcept
 
constexpr bool operator> (const pair &a, const pair &b) noexcept
 
constexpr bool operator<= (const pair &a, const pair &b) noexcept
 
constexpr bool operator>= (const pair &a, const pair &b) noexcept
 
constexpr bool operator!= (const pair &a, const pair &b) noexcept
 
constexpr bool operator== (const env &a, const env &b) noexcept
 
constexpr bool operator!= (const env &a, const env &b) noexcept
 
constexpr bool operator== (const txn &a, const txn &b) noexcept
 
constexpr bool operator!= (const txn &a, const txn &b) noexcept
 
constexpr bool operator== (const cursor &a, const cursor &b) noexcept
 
constexpr bool operator!= (const cursor &a, const cursor &b) noexcept
 
int compare_position_nothrow (const cursor &left, const cursor &right, bool ignore_nested=false) noexcept
 
int compare_position (const cursor &left, const cursor &right, bool ignore_nested=false)
 
ptrdiff_t estimate (const cursor &from, const cursor &to)
 

Variables

template<typename T >
concept MutableByteProducer
 
template<typename T >
concept ImmutableByteProducer
 
template<typename T >
concept SliceTranscoder
 

Detailed Description

The libmdbx C++ API namespace.