The C++ bindings to libpmemobj

libpmemobj-cpp provides a less error prone version of libpmemobj through the implementation of a pmem-resident property, persistent pointers, scoped and closure transactions, locking primitives and many others.

Doxygen documentation is available:

For older documentation see below.

Blog entries

The following series of blog articles provides a tutorial introduction to the C++ bindings:

There are also another blog posts regarding C++ bindings:

Releases’ support status

Only some of the latest branches/releases are fully supported. The most recent releases can be found on the “releases” tab on the GitHub page.

Version branch First release date Last patch release Maintenance status
stable-1.12 Feb 15, 2021 N/A Full
stable-1.11 Sep 30, 2020 N/A Full
stable-1.10 May 28, 2020 N/A Full
stable-1.9 Jan 31, 2020 N/A Full
stable-1.8 Oct 3, 2019 N/A Limited
stable-1.7 Jun 26, 2019 N/A Limited
stable-1.6 Mar 15, 2019 1.6.1 (Jul 06, 2021) EOL
stable-1.5 Oct 26, 2018 1.5.2 (Jun 28, 2021) EOL

Possible statuses:

  1. Full maintenance:
    • All/most of bugs fixed (if possible),
    • Patch releases issued based on a number of fixes and their severity,
    • At least one release at the end of the maintenance period,
    • Full support for at least a year since the initial release.
  2. Limited scope:
    • Only critical bugs (security, data integrity, etc.) will be backported,
    • Patch versions will be released when needed (based on severity of found issues),
    • Branch will remain in “limited maintenance” status based on the original release availability in popular distros,
  3. EOL:
    • No support,
    • No bug fixes,
    • No official releases.

Older documentation

Older branches docs:

Archived documentation