This is a comprehensive C++ wrapper for the LMDB embedded database library, offering both an error-checked procedural interface and an object-oriented resource interface with RAII semantics.
• Designed to be entirely self-contained as a single header file that can be dropped into a project.
• Implements a straightforward mapping from C to C++, with consistent naming.
• Simplifies error handling by translating error codes into C++ exceptions.
• Carefully differentiates logic errors, runtime errors, and fatal errors.
• Exception strings include the name of the LMDB function that failed.
• Plays nice with others: all symbols are placed into the lmdb namespace.
• 100% free and unencumbered public domain software.