libmdbx  0.11.6.39 (2022-04-13T11:05:50+03:00)
One of the fastest compact embeddable key-value ACID database without WAL.
mdbx Namespace Reference

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_infoget_version () noexcept
 Returns libmdbx version information. More...
 
const MDBX_CXX11_CONSTEXPR build_infoget_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
 

Typedef Documentation

◆ build_info

using mdbx::build_info = typedef ::MDBX_build_info

libmdbx build information

Attention
Some strings could be NULL in case no corresponding information was provided at build time (i.e. flags).

◆ byte

using mdbx::byte = typedef char8_t

◆ filehandle

◆ legacy_allocator

using mdbx::legacy_allocator = typedef ::std::string::allocator_type

Legacy default allocator but it is recommended to use polymorphic_allocator.

◆ path

◆ polymorphic_allocator

using mdbx::polymorphic_allocator = typedef ::std::pmr::string::allocator_type

Default polymorphic allocator for modern code.

◆ string

template<class ALLOCATOR = legacy_allocator>
using mdbx::string = typedef ::std::basic_string<char, ::std::char_traits<char>, ALLOCATOR>

Default singe-byte string.

◆ version_info

libmdbx version information

Enumeration Type Documentation

◆ key_mode

enum mdbx::key_mode
strong

Kinds of the keys and corresponding modes of comparing it.

Enumerator
usual 

Usual variable length keys with byte-by-byte lexicographic comparison like std::memcmp().

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 uint32_t or uint64_t, and will be sorted as such. The keys must all be of the same size and must be aligned while passing as arguments.

msgpack 

Keys are in MessagePack format with appropriate comparison.

Note
Not yet implemented and PRs are welcome.

◆ loop_control

Loop control constants for readers enumeration functor and other cases.

See also
env::enumerate_readers()
Enumerator
continue_loop 
exit_loop 

◆ put_mode

Key-value pairs put mode.

Enumerator
insert_unique 

Insert only unique keys.

upsert 

Insert or update.

update 

Update existing, don't insert new.

◆ value_mode

enum mdbx::value_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 std::memcmp(). In terms of keys, they are not unique, i.e. has duplicates which are sorted by associated data values.

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 std::memcmp(). In terms of keys, they are not unique, i.e. has duplicates which are sorted by associated data values.

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 uint32_t or uint64_t, and will be sorted as such. 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.

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.

Note
Not yet implemented and PRs are welcome.

Function Documentation

◆ estimate()

ptrdiff_t mdbx::estimate ( const cursor from,
const cursor to 
)
inline

◆ get_build()

const MDBX_CXX11_CONSTEXPR build_info & mdbx::get_build ( )
noexcept

Returns libmdbx build information.

◆ get_version()

const MDBX_CXX11_CONSTEXPR version_info & mdbx::get_version ( )
noexcept

Returns libmdbx version information.

◆ make_buffer() [1/2]

template<class ALLOCATOR = legacy_allocator, typename CAPACITY_POLICY = default_capacity_policy, MDBX_CXX20_CONCEPT(ImmutableByteProducer, PRODUCER) >
buffer< ALLOCATOR, CAPACITY_POLICY > mdbx::make_buffer ( const PRODUCER &  producer,
const ALLOCATOR &  allocator = ALLOCATOR() 
)
inline

◆ make_buffer() [2/2]

template<class ALLOCATOR = legacy_allocator, typename CAPACITY_POLICY = default_capacity_policy, MDBX_CXX20_CONCEPT(MutableByteProducer, PRODUCER) >
buffer< ALLOCATOR, CAPACITY_POLICY > mdbx::make_buffer ( PRODUCER &  producer,
const ALLOCATOR &  allocator = ALLOCATOR() 
)
inline

◆ make_string() [1/2]

template<class ALLOCATOR = legacy_allocator, MDBX_CXX20_CONCEPT(ImmutableByteProducer, PRODUCER) >
string< ALLOCATOR > mdbx::make_string ( const PRODUCER &  producer,
const ALLOCATOR &  allocator = ALLOCATOR() 
)
inline

◆ make_string() [2/2]

template<class ALLOCATOR = legacy_allocator, MDBX_CXX20_CONCEPT(MutableByteProducer, PRODUCER) >
string< ALLOCATOR > mdbx::make_string ( PRODUCER &  producer,
const ALLOCATOR &  allocator = ALLOCATOR() 
)
inline

◆ MDBX_DECLARE_EXCEPTION() [1/28]

mdbx::MDBX_DECLARE_EXCEPTION ( bad_map_id  )

◆ MDBX_DECLARE_EXCEPTION() [2/28]

mdbx::MDBX_DECLARE_EXCEPTION ( bad_transaction  )

◆ MDBX_DECLARE_EXCEPTION() [3/28]

mdbx::MDBX_DECLARE_EXCEPTION ( bad_value_size  )

◆ MDBX_DECLARE_EXCEPTION() [4/28]

mdbx::MDBX_DECLARE_EXCEPTION ( db_corrupted  )

◆ MDBX_DECLARE_EXCEPTION() [5/28]

mdbx::MDBX_DECLARE_EXCEPTION ( db_full  )

◆ MDBX_DECLARE_EXCEPTION() [6/28]

mdbx::MDBX_DECLARE_EXCEPTION ( db_invalid  )

◆ MDBX_DECLARE_EXCEPTION() [7/28]

mdbx::MDBX_DECLARE_EXCEPTION ( db_too_large  )

◆ MDBX_DECLARE_EXCEPTION() [8/28]

mdbx::MDBX_DECLARE_EXCEPTION ( db_unable_extend  )

◆ MDBX_DECLARE_EXCEPTION() [9/28]

mdbx::MDBX_DECLARE_EXCEPTION ( db_version_mismatch  )

◆ MDBX_DECLARE_EXCEPTION() [10/28]

mdbx::MDBX_DECLARE_EXCEPTION ( db_wanna_write_for_recovery  )

◆ MDBX_DECLARE_EXCEPTION() [11/28]

mdbx::MDBX_DECLARE_EXCEPTION ( incompatible_operation  )

◆ MDBX_DECLARE_EXCEPTION() [12/28]

mdbx::MDBX_DECLARE_EXCEPTION ( internal_page_full  )

◆ MDBX_DECLARE_EXCEPTION() [13/28]

mdbx::MDBX_DECLARE_EXCEPTION ( internal_problem  )

◆ MDBX_DECLARE_EXCEPTION() [14/28]

mdbx::MDBX_DECLARE_EXCEPTION ( key_exists  )

◆ MDBX_DECLARE_EXCEPTION() [15/28]

mdbx::MDBX_DECLARE_EXCEPTION ( key_mismatch  )

◆ MDBX_DECLARE_EXCEPTION() [16/28]

mdbx::MDBX_DECLARE_EXCEPTION ( max_maps_reached  )

◆ MDBX_DECLARE_EXCEPTION() [17/28]

mdbx::MDBX_DECLARE_EXCEPTION ( max_readers_reached  )

◆ MDBX_DECLARE_EXCEPTION() [18/28]

mdbx::MDBX_DECLARE_EXCEPTION ( multivalue  )

◆ MDBX_DECLARE_EXCEPTION() [19/28]

mdbx::MDBX_DECLARE_EXCEPTION ( no_data  )

◆ MDBX_DECLARE_EXCEPTION() [20/28]

mdbx::MDBX_DECLARE_EXCEPTION ( not_found  )

◆ MDBX_DECLARE_EXCEPTION() [21/28]

mdbx::MDBX_DECLARE_EXCEPTION ( operation_not_permitted  )

◆ MDBX_DECLARE_EXCEPTION() [22/28]

mdbx::MDBX_DECLARE_EXCEPTION ( permission_denied_or_not_writeable  )

◆ MDBX_DECLARE_EXCEPTION() [23/28]

mdbx::MDBX_DECLARE_EXCEPTION ( reader_slot_busy  )

◆ MDBX_DECLARE_EXCEPTION() [24/28]

mdbx::MDBX_DECLARE_EXCEPTION ( remote_media  )

◆ MDBX_DECLARE_EXCEPTION() [25/28]

mdbx::MDBX_DECLARE_EXCEPTION ( something_busy  )

◆ MDBX_DECLARE_EXCEPTION() [26/28]

mdbx::MDBX_DECLARE_EXCEPTION ( thread_mismatch  )

◆ MDBX_DECLARE_EXCEPTION() [27/28]

mdbx::MDBX_DECLARE_EXCEPTION ( transaction_full  )

◆ MDBX_DECLARE_EXCEPTION() [28/28]

mdbx::MDBX_DECLARE_EXCEPTION ( transaction_overlapping  )

◆ operator!=() [1/5]

MDBX_CXX11_CONSTEXPR bool mdbx::operator!= ( const cursor a,
const cursor b 
)
noexcept

◆ operator!=() [2/5]

MDBX_CXX11_CONSTEXPR bool mdbx::operator!= ( const env a,
const env b 
)
noexcept

◆ operator!=() [3/5]

MDBX_CXX11_CONSTEXPR bool mdbx::operator!= ( const error a,
const error b 
)
noexcept

◆ operator!=() [4/5]

MDBX_NOTHROW_PURE_FUNCTION MDBX_CXX14_CONSTEXPR bool mdbx::operator!= ( const slice a,
const slice b 
)
noexcept

◆ operator!=() [5/5]

MDBX_CXX11_CONSTEXPR bool mdbx::operator!= ( const txn a,
const txn b 
)
noexcept

◆ operator<()

MDBX_NOTHROW_PURE_FUNCTION MDBX_CXX14_CONSTEXPR bool mdbx::operator< ( const slice a,
const slice b 
)
noexcept

◆ operator<<() [1/19]

LIBMDBX_API ::std::ostream& mdbx::operator<< ( ::std::ostream &  ,
const env::durability  
)

◆ operator<<() [2/19]

LIBMDBX_API ::std::ostream& mdbx::operator<< ( ::std::ostream &  ,
const env::geometry  
)

◆ operator<<() [3/19]

LIBMDBX_API ::std::ostream& mdbx::operator<< ( ::std::ostream &  ,
const env::geometry::size  
)

◆ operator<<() [4/19]

LIBMDBX_API ::std::ostream& mdbx::operator<< ( ::std::ostream &  ,
const env::mode  
)

◆ operator<<() [5/19]

LIBMDBX_API ::std::ostream& mdbx::operator<< ( ::std::ostream &  ,
const env::operate_options  
)

◆ operator<<() [6/19]

LIBMDBX_API ::std::ostream& mdbx::operator<< ( ::std::ostream &  ,
const env::operate_parameters  
)

◆ operator<<() [7/19]

LIBMDBX_API ::std::ostream& mdbx::operator<< ( ::std::ostream &  ,
const env::reclaiming_options  
)

◆ operator<<() [8/19]

LIBMDBX_API ::std::ostream& mdbx::operator<< ( ::std::ostream &  ,
const env_managed::create_parameters  
)

◆ operator<<() [9/19]

LIBMDBX_API ::std::ostream& mdbx::operator<< ( ::std::ostream &  ,
const error  
)

◆ operator<<() [10/19]

LIBMDBX_API ::std::ostream& mdbx::operator<< ( ::std::ostream &  ,
const MDBX_debug_flags_t  
)

◆ operator<<() [11/19]

LIBMDBX_API ::std::ostream& mdbx::operator<< ( ::std::ostream &  ,
const MDBX_log_level_t  
)

◆ operator<<() [12/19]

LIBMDBX_API ::std::ostream& mdbx::operator<< ( ::std::ostream &  ,
const pair  
)

◆ operator<<() [13/19]

LIBMDBX_API ::std::ostream& mdbx::operator<< ( ::std::ostream &  ,
const pair_result  
)

◆ operator<<() [14/19]

LIBMDBX_API ::std::ostream& mdbx::operator<< ( ::std::ostream &  ,
const slice  
)

◆ operator<<() [15/19]

template<class ALLOCATOR , typename CAPACITY_POLICY >
inline ::std::ostream& mdbx::operator<< ( ::std::ostream &  out,
const buffer< ALLOCATOR, CAPACITY_POLICY > &  it 
)

◆ operator<<() [16/19]

inline ::std::ostream& mdbx::operator<< ( ::std::ostream &  out,
const MDBX_error_t errcode 
)

◆ operator<<() [17/19]

inline ::std::ostream& mdbx::operator<< ( ::std::ostream &  out,
const to_base58 wrapper 
)

◆ operator<<() [18/19]

inline ::std::ostream& mdbx::operator<< ( ::std::ostream &  out,
const to_base64 wrapper 
)

◆ operator<<() [19/19]

inline ::std::ostream& mdbx::operator<< ( ::std::ostream &  out,
const to_hex wrapper 
)

◆ operator<=()

MDBX_NOTHROW_PURE_FUNCTION MDBX_CXX14_CONSTEXPR bool mdbx::operator<= ( const slice a,
const slice b 
)
noexcept

◆ operator==() [1/5]

MDBX_CXX11_CONSTEXPR bool mdbx::operator== ( const cursor a,
const cursor b 
)
noexcept

◆ operator==() [2/5]

MDBX_CXX11_CONSTEXPR bool mdbx::operator== ( const env a,
const env b 
)
noexcept

◆ operator==() [3/5]

MDBX_CXX11_CONSTEXPR bool mdbx::operator== ( const error a,
const error b 
)
noexcept

◆ operator==() [4/5]

MDBX_NOTHROW_PURE_FUNCTION MDBX_CXX14_CONSTEXPR bool mdbx::operator== ( const slice a,
const slice b 
)
noexcept

◆ operator==() [5/5]

MDBX_CXX11_CONSTEXPR bool mdbx::operator== ( const txn a,
const txn b 
)
noexcept

◆ operator>()

MDBX_NOTHROW_PURE_FUNCTION MDBX_CXX14_CONSTEXPR bool mdbx::operator> ( const slice a,
const slice b 
)
noexcept

◆ operator>=()

MDBX_NOTHROW_PURE_FUNCTION MDBX_CXX14_CONSTEXPR bool mdbx::operator>= ( const slice a,
const slice b 
)
noexcept

◆ throw_allocators_mismatch()

LIBMDBX_API void mdbx::throw_allocators_mismatch ( )

◆ throw_max_length_exceeded()

LIBMDBX_API void mdbx::throw_max_length_exceeded ( )

◆ throw_out_range()

LIBMDBX_API void mdbx::throw_out_range ( )

◆ throw_too_small_target_buffer()

LIBMDBX_API void mdbx::throw_too_small_target_buffer ( )

Variable Documentation

◆ ImmutableByteProducer

template<typename T >
concept mdbx::ImmutableByteProducer
Initial value:
= requires(const T &a, char array[42]) {
{ a.is_empty() } -> std::same_as<bool>;
{ a.envisage_result_length() } -> std::same_as<size_t>;
{ a.write_bytes(&array[0], size_t(42)) } -> std::same_as<char *>;
}

◆ MutableByteProducer

template<typename T >
concept mdbx::MutableByteProducer
Initial value:
= requires(T a, char array[42]) {
{ a.is_empty() } -> std::same_as<bool>;
{ a.envisage_result_length() } -> std::same_as<size_t>;
{ a.write_bytes(&array[0], size_t(42)) } -> std::same_as<char *>;
}

◆ SliceTranscoder

template<typename T >
concept mdbx::SliceTranscoder
Initial value:
= ImmutableByteProducer<T> &&
requires(const slice &source, const T &a) {
T(source);
{ a.is_erroneous() } -> std::same_as<bool>;
}