libpmemobj-cpp
libpmemobj-cpp copied to clipboard
Allowing persistent containers to be stored in volatile memory.
Currently, persistent vector, array and string are not allowed on volatile memory (including stack). This makes it impossible to pass/return those containers by value. This limitation was introduced to decrease possibility of a persistent memory leak. Persistent containers always allocate from pmem so if a crash would occur before the container is moved to persistent memory we would have no way to access memory which was managed by the container.