Namespaces | |
allocation_aware_details | |
Classes | |
class | buffer |
The chunk of data stored inside the buffer or located outside it. More... | |
class | cursor |
Unmanaged cursor. More... | |
class | cursor_managed |
Managed cursor. More... | |
struct | default_capacity_policy |
class | env |
Unmanaged database environment. More... | |
class | env_managed |
Managed database environment. 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 | exception_thunk |
Transfers C++ exceptions thru C callbacks. More... | |
class | fatal |
Fatal exception that lead termination anyway in dangerous unrecoverable cases. More... | |
struct | from_base58 |
Base58 decoder which satisfy SliceTranscoder concept. More... | |
struct | from_base64 |
Base64 decoder which satisfy SliceTranscoder concept. More... | |
struct | from_hex |
Hexadecimal decoder which satisfy SliceTranscoder concept. More... | |
struct | map_handle |
A handle for an individual database (key-value spaces) in the environment. 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 | slice |
References a data located outside the slice. More... | |
struct | to_base58 |
Base58 encoder which satisfy SliceTranscoder concept. More... | |
struct | to_base64 |
Base64 encoder which satisfy SliceTranscoder concept. More... | |
struct | to_hex |
Hexadecimal encoder which satisfy SliceTranscoder concept. More... | |
class | txn |
Unmanaged database transaction. More... | |
class | txn_managed |
Managed database transaction. More... | |
struct | value_result |
Combines data slice with boolean flag to represent result of certain operations. 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 default 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... | |
template<class ALLOCATOR = legacy_allocator> | |
using | string = ::std::basic_string< char, ::std::char_traits< char >, ALLOCATOR > |
Default singe-byte string. More... | |
using | filehandle = ::mdbx_filehandle_t |
using | path = MDBX_STD_FILESYSTEM_PATH |
Enumerations | |
enum | loop_control { continue_loop = 0, exit_loop = INT32_MIN } |
Loop control constants for readers enumeration functor and other cases. More... | |
enum | key_mode { key_mode::usual = MDBX_DB_DEFAULTS, key_mode::reverse = MDBX_REVERSEKEY, key_mode::ordinal = MDBX_INTEGERKEY, key_mode::msgpack = -1 } |
Kinds of the keys and corresponding modes of comparing it. More... | |
enum | value_mode { value_mode::single = MDBX_DB_DEFAULTS, value_mode::multi, value_mode::multi_reverse, value_mode::multi_samelength, value_mode::multi_ordinal, value_mode::multi_reverse_samelength, value_mode::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 | |
const MDBX_CXX11_CONSTEXPR version_info & | get_version () noexcept |
Returns libmdbx version information. More... | |
const MDBX_CXX11_CONSTEXPR build_info & | get_build () noexcept |
Returns libmdbx build information. More... | |
MDBX_DECLARE_EXCEPTION (bad_map_id) | |
MDBX_DECLARE_EXCEPTION (bad_transaction) | |
MDBX_DECLARE_EXCEPTION (bad_value_size) | |
MDBX_DECLARE_EXCEPTION (db_corrupted) | |
MDBX_DECLARE_EXCEPTION (db_full) | |
MDBX_DECLARE_EXCEPTION (db_invalid) | |
MDBX_DECLARE_EXCEPTION (db_too_large) | |
MDBX_DECLARE_EXCEPTION (db_unable_extend) | |
MDBX_DECLARE_EXCEPTION (db_version_mismatch) | |
MDBX_DECLARE_EXCEPTION (db_wanna_write_for_recovery) | |
MDBX_DECLARE_EXCEPTION (incompatible_operation) | |
MDBX_DECLARE_EXCEPTION (internal_page_full) | |
MDBX_DECLARE_EXCEPTION (internal_problem) | |
MDBX_DECLARE_EXCEPTION (key_exists) | |
MDBX_DECLARE_EXCEPTION (key_mismatch) | |
MDBX_DECLARE_EXCEPTION (max_maps_reached) | |
MDBX_DECLARE_EXCEPTION (max_readers_reached) | |
MDBX_DECLARE_EXCEPTION (multivalue) | |
MDBX_DECLARE_EXCEPTION (no_data) | |
MDBX_DECLARE_EXCEPTION (not_found) | |
MDBX_DECLARE_EXCEPTION (operation_not_permitted) | |
MDBX_DECLARE_EXCEPTION (permission_denied_or_not_writeable) | |
MDBX_DECLARE_EXCEPTION (reader_slot_busy) | |
MDBX_DECLARE_EXCEPTION (remote_media) | |
MDBX_DECLARE_EXCEPTION (something_busy) | |
MDBX_DECLARE_EXCEPTION (thread_mismatch) | |
MDBX_DECLARE_EXCEPTION (transaction_full) | |
MDBX_DECLARE_EXCEPTION (transaction_overlapping) | |
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 () |
template<class ALLOCATOR = legacy_allocator, typename CAPACITY_POLICY = default_capacity_policy, MDBX_CXX20_CONCEPT(MutableByteProducer, PRODUCER) > | |
buffer< ALLOCATOR, CAPACITY_POLICY > | make_buffer (PRODUCER &producer, const ALLOCATOR &allocator=ALLOCATOR()) |
template<class ALLOCATOR = legacy_allocator, typename CAPACITY_POLICY = default_capacity_policy, MDBX_CXX20_CONCEPT(ImmutableByteProducer, PRODUCER) > | |
buffer< ALLOCATOR, CAPACITY_POLICY > | make_buffer (const PRODUCER &producer, const ALLOCATOR &allocator=ALLOCATOR()) |
template<class ALLOCATOR = legacy_allocator, MDBX_CXX20_CONCEPT(MutableByteProducer, PRODUCER) > | |
string< ALLOCATOR > | make_string (PRODUCER &producer, const ALLOCATOR &allocator=ALLOCATOR()) |
template<class ALLOCATOR = legacy_allocator, MDBX_CXX20_CONCEPT(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) |
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) |
MDBX_CXX11_CONSTEXPR bool | operator== (const error &a, const error &b) noexcept |
MDBX_CXX11_CONSTEXPR bool | operator!= (const error &a, const error &b) noexcept |
MDBX_NOTHROW_PURE_FUNCTION MDBX_CXX14_CONSTEXPR bool | operator== (const slice &a, const slice &b) noexcept |
MDBX_NOTHROW_PURE_FUNCTION MDBX_CXX14_CONSTEXPR bool | operator< (const slice &a, const slice &b) noexcept |
MDBX_NOTHROW_PURE_FUNCTION MDBX_CXX14_CONSTEXPR bool | operator> (const slice &a, const slice &b) noexcept |
MDBX_NOTHROW_PURE_FUNCTION MDBX_CXX14_CONSTEXPR bool | operator<= (const slice &a, const slice &b) noexcept |
MDBX_NOTHROW_PURE_FUNCTION MDBX_CXX14_CONSTEXPR bool | operator>= (const slice &a, const slice &b) noexcept |
MDBX_NOTHROW_PURE_FUNCTION MDBX_CXX14_CONSTEXPR bool | operator!= (const slice &a, const slice &b) noexcept |
MDBX_CXX11_CONSTEXPR bool | operator== (const env &a, const env &b) noexcept |
MDBX_CXX11_CONSTEXPR bool | operator!= (const env &a, const env &b) noexcept |
MDBX_CXX11_CONSTEXPR bool | operator== (const txn &a, const txn &b) noexcept |
MDBX_CXX11_CONSTEXPR bool | operator!= (const txn &a, const txn &b) noexcept |
MDBX_CXX11_CONSTEXPR bool | operator== (const cursor &a, const cursor &b) noexcept |
MDBX_CXX11_CONSTEXPR bool | operator!= (const cursor &a, const cursor &b) noexcept |
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 |
using mdbx::build_info = typedef ::MDBX_build_info |
libmdbx build information
using mdbx::byte = typedef char8_t |
using mdbx::filehandle = typedef ::mdbx_filehandle_t |
using mdbx::legacy_allocator = typedef ::std::string::allocator_type |
Legacy default allocator but it is recommended to use polymorphic_allocator.
using mdbx::path = typedef MDBX_STD_FILESYSTEM_PATH |
using mdbx::polymorphic_allocator = typedef ::std::pmr::string::allocator_type |
Default polymorphic allocator for modern code.
using mdbx::string = typedef ::std::basic_string<char, ::std::char_traits<char>, ALLOCATOR> |
Default singe-byte string.
using mdbx::version_info = typedef ::MDBX_version_info |
libmdbx version information
|
strong |
Kinds of the keys and corresponding modes of comparing it.
Enumerator | |
---|---|
usual | Usual variable length keys with byte-by-byte lexicographic comparison like |
reverse | Variable length keys with byte-by-byte lexicographic comparison in reverse order, from the end of the keys to the beginning. |
ordinal | Keys are binary integers in native byte order, either |
msgpack | Keys are in MessagePack format with appropriate comparison.
|
enum mdbx::loop_control |
Loop control constants for readers enumeration functor and other cases.
Enumerator | |
---|---|
continue_loop | |
exit_loop |
enum mdbx::put_mode |
|
strong |
Kind of the values and sorted multi-values with corresponding comparison.
Enumerator | |
---|---|
single | Usual single value for each key. In terms of keys, they are unique. |
multi | A more than one data value could be associated with each key. Internally each key is stored once, and the corresponding data values are sorted by byte-by-byte lexicographic comparison like |
multi_reverse | A more than one data value could be associated with each key. Internally each key is stored once, and the corresponding data values are sorted by byte-by-byte lexicographic comparison in reverse order, from the end of the keys to the beginning. In terms of keys, they are not unique, i.e. has duplicates which are sorted by associated data values. |
multi_samelength | A more than one data value could be associated with each key, and all data values must be same length. Internally each key is stored once, and the corresponding data values are sorted by byte-by-byte lexicographic comparison like |
multi_ordinal | A more than one data value could be associated with each key, and all data values are binary integers in native byte order, either |
multi_reverse_samelength | A more than one data value could be associated with each key, and all data values must be same length. Internally each key is stored once, and the corresponding data values are sorted by byte-by-byte lexicographic comparison in reverse order, from the end of the keys to the beginning. In terms of keys, they are not unique, i.e. has duplicates which are sorted by associated data values. |
msgpack | A more than one data value could be associated with each key. Values are in MessagePack format with appropriate comparison. Internally each key is stored once, and the corresponding data values are sorted. In terms of keys, they are not unique, i.e. has duplicates which are sorted by associated data values.
|
|
noexcept |
Returns libmdbx build information.
|
noexcept |
Returns libmdbx version information.
|
inline |
|
inline |
|
inline |
|
inline |
mdbx::MDBX_DECLARE_EXCEPTION | ( | bad_map_id | ) |
mdbx::MDBX_DECLARE_EXCEPTION | ( | bad_transaction | ) |
mdbx::MDBX_DECLARE_EXCEPTION | ( | bad_value_size | ) |
mdbx::MDBX_DECLARE_EXCEPTION | ( | db_corrupted | ) |
mdbx::MDBX_DECLARE_EXCEPTION | ( | db_full | ) |
mdbx::MDBX_DECLARE_EXCEPTION | ( | db_invalid | ) |
mdbx::MDBX_DECLARE_EXCEPTION | ( | db_too_large | ) |
mdbx::MDBX_DECLARE_EXCEPTION | ( | db_unable_extend | ) |
mdbx::MDBX_DECLARE_EXCEPTION | ( | db_version_mismatch | ) |
mdbx::MDBX_DECLARE_EXCEPTION | ( | db_wanna_write_for_recovery | ) |
mdbx::MDBX_DECLARE_EXCEPTION | ( | incompatible_operation | ) |
mdbx::MDBX_DECLARE_EXCEPTION | ( | internal_page_full | ) |
mdbx::MDBX_DECLARE_EXCEPTION | ( | internal_problem | ) |
mdbx::MDBX_DECLARE_EXCEPTION | ( | key_exists | ) |
mdbx::MDBX_DECLARE_EXCEPTION | ( | key_mismatch | ) |
mdbx::MDBX_DECLARE_EXCEPTION | ( | max_maps_reached | ) |
mdbx::MDBX_DECLARE_EXCEPTION | ( | max_readers_reached | ) |
mdbx::MDBX_DECLARE_EXCEPTION | ( | multivalue | ) |
mdbx::MDBX_DECLARE_EXCEPTION | ( | no_data | ) |
mdbx::MDBX_DECLARE_EXCEPTION | ( | not_found | ) |
mdbx::MDBX_DECLARE_EXCEPTION | ( | operation_not_permitted | ) |
mdbx::MDBX_DECLARE_EXCEPTION | ( | permission_denied_or_not_writeable | ) |
mdbx::MDBX_DECLARE_EXCEPTION | ( | reader_slot_busy | ) |
mdbx::MDBX_DECLARE_EXCEPTION | ( | remote_media | ) |
mdbx::MDBX_DECLARE_EXCEPTION | ( | something_busy | ) |
mdbx::MDBX_DECLARE_EXCEPTION | ( | thread_mismatch | ) |
mdbx::MDBX_DECLARE_EXCEPTION | ( | transaction_full | ) |
mdbx::MDBX_DECLARE_EXCEPTION | ( | transaction_overlapping | ) |
|
noexcept |
|
noexcept |
|
noexcept |
|
noexcept |
|
noexcept |
|
noexcept |
LIBMDBX_API ::std::ostream& mdbx::operator<< | ( | ::std::ostream & | , |
const env::durability & | |||
) |
LIBMDBX_API ::std::ostream& mdbx::operator<< | ( | ::std::ostream & | , |
const env::geometry & | |||
) |
LIBMDBX_API ::std::ostream& mdbx::operator<< | ( | ::std::ostream & | , |
const env::geometry::size & | |||
) |
LIBMDBX_API ::std::ostream& mdbx::operator<< | ( | ::std::ostream & | , |
const env::mode & | |||
) |
LIBMDBX_API ::std::ostream& mdbx::operator<< | ( | ::std::ostream & | , |
const env::operate_options & | |||
) |
LIBMDBX_API ::std::ostream& mdbx::operator<< | ( | ::std::ostream & | , |
const env::operate_parameters & | |||
) |
LIBMDBX_API ::std::ostream& mdbx::operator<< | ( | ::std::ostream & | , |
const env::reclaiming_options & | |||
) |
LIBMDBX_API ::std::ostream& mdbx::operator<< | ( | ::std::ostream & | , |
const env_managed::create_parameters & | |||
) |
LIBMDBX_API ::std::ostream& mdbx::operator<< | ( | ::std::ostream & | , |
const error & | |||
) |
LIBMDBX_API ::std::ostream& mdbx::operator<< | ( | ::std::ostream & | , |
const MDBX_debug_flags_t & | |||
) |
LIBMDBX_API ::std::ostream& mdbx::operator<< | ( | ::std::ostream & | , |
const MDBX_log_level_t & | |||
) |
LIBMDBX_API ::std::ostream& mdbx::operator<< | ( | ::std::ostream & | , |
const pair & | |||
) |
LIBMDBX_API ::std::ostream& mdbx::operator<< | ( | ::std::ostream & | , |
const pair_result & | |||
) |
LIBMDBX_API ::std::ostream& mdbx::operator<< | ( | ::std::ostream & | , |
const slice & | |||
) |
inline ::std::ostream& mdbx::operator<< | ( | ::std::ostream & | out, |
const buffer< ALLOCATOR, CAPACITY_POLICY > & | it | ||
) |
inline ::std::ostream& mdbx::operator<< | ( | ::std::ostream & | out, |
const MDBX_error_t & | errcode | ||
) |
inline ::std::ostream& mdbx::operator<< | ( | ::std::ostream & | out, |
const to_base58 & | wrapper | ||
) |
inline ::std::ostream& mdbx::operator<< | ( | ::std::ostream & | out, |
const to_base64 & | wrapper | ||
) |
inline ::std::ostream& mdbx::operator<< | ( | ::std::ostream & | out, |
const to_hex & | wrapper | ||
) |
|
noexcept |
|
noexcept |
|
noexcept |
|
noexcept |
|
noexcept |
|
noexcept |
|
noexcept |
|
noexcept |
LIBMDBX_API void mdbx::throw_allocators_mismatch | ( | ) |
LIBMDBX_API void mdbx::throw_max_length_exceeded | ( | ) |
LIBMDBX_API void mdbx::throw_out_range | ( | ) |
LIBMDBX_API void mdbx::throw_too_small_target_buffer | ( | ) |
concept mdbx::ImmutableByteProducer |
concept mdbx::MutableByteProducer |
concept mdbx::SliceTranscoder |