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 <lmdb++.h> header file that can be dropped into a project.
• Implements a straightforward mapping from C to C++, with consistent naming.
• Provides both a procedural interface and an object-oriented RAII interface.
• 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, usable in any context and for any purpose.
Features
- C++
- C++11
- B+ tree
- ACID
- MVCC