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 the current master
  • for the latest stable branch: v1.13

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 branchFirst release dateLast patch releaseMaintenance status
stable-1.13Jul 27, 2021N/AFull
stable-1.12Feb 15, 2021N/AFull
stable-1.11Sep 30, 2020N/AFull
stable-1.10May 28, 2020N/AFull
stable-1.9Jan 31, 2020N/AFull
stable-1.8Oct 03, 20191.8.2 (Aug 01, 2022)EOL
stable-1.7Jun 26, 20191.7.1 (Jul 29, 2022)EOL
stable-1.6Mar 15, 20191.6.1 (Jul 06, 2021)EOL
stable-1.5Oct 26, 20181.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

The contents of this web site and the associated GitHub repositories are BSD-licensed open source.