PMDK C++ bindings  1.10
This is the C++ bindings documentation for PMDK's libpmemobj.
Class Hierarchy
This inheritance list is sorted roughly, but not completely, alphabetically:
[detail level 123]
 Cpmem::obj::allocation_flagType of flag which can be passed to make_persistent
 Cpmem::obj::allocation_flag_atomicType of flag which can be passed to make_persistent_atomic
 Cpmem::obj::array< T, N >Pmem::obj::array - persistent container with std::array compatible interface
 Cpmem::obj::array< value_type, sso_capacity+1 >
 Cpmem::obj::transaction::automaticC++ automatic scope transaction class
 Cpmem::obj::basic_string< CharT, Traits >Pmem::obj::string - persistent container with std::basic_string compatible interface
 Cpmem::obj::concurrent_hash_map< Key, T, Hash, KeyEqual, MutexType, ScopedLockType >::bucket_accessorBucket accessor is to find, rehash, acquire a lock, and access a bucket
 Cpmem::obj::concurrent_hash_map< Key, T, Hash, KeyEqual, MutexType, ScopedLockType >Persistent memory aware implementation of Intel TBB concurrent_hash_map
 Cpmem::obj::experimental::concurrent_map< Key, Value, Comp, Allocator >Persistent memory aware implementation of Intel TBB concurrent_map
 Cpmem::detail::concurrent_skip_list< Traits >Persistent memory aware implementation of the concurrent skip list
 Cpmem::obj::condition_variablePersistent memory resident condition variable
 Cpmem::obj::concurrent_hash_map< Key, T, Hash, KeyEqual, MutexType, ScopedLockType >::const_accessorCombines data access, locking, and garbage collection
 Cpmem::obj::concurrent_hash_map< Key, T, Hash, KeyEqual, MutexType, ScopedLockType >::accessorAllows write access to elements and combines data access, locking, and garbage collection
 Cpmem::detail::contiguous_iterator< Iterator, Reference, Pointer >Base class for iterators which satisfies RandomAccessIterator and operate on contiguous memory
 Cpmem::detail::contiguous_iterator< basic_contiguous_iterator< T >, T &, T * >
 Cpmem::detail::basic_contiguous_iterator< T >Default non-const iterator which adds element to a transaction on every access
 Cpmem::detail::contiguous_iterator< range_snapshotting_iterator< T >, T &, T * >
 Cpmem::detail::range_snapshotting_iterator< T >Non-const iterator which adds elements to a transaction in a bulk
 Cpmem::ctl_errorCustom ctl error class
 Cpmem::obj::defragDefrag class
 Cpmem::defrag_errorCustom defrag error class
 Cpmem::detail::enumerable_thread_specific< T, Mutex, Storage >Class for storing thread local data
 Cpmem::detail::enumerable_thread_specific< tls_entry_type >
 Cstd::hash< pmem::obj::p< T > >Specialization of std::hash for p<T>
 Cpmem::detail::id_managerThis structure is used for assigning unique thread ids so that those ids will be reused in case of thread exit
 Cpmem::detail::is_bidirectional_iterator< T >Type trait to determine if a given parameter type satisfies requirements of BidirectionalIterator
 Cpmem::detail::is_forward_iterator< T >Type trait to determine if a given parameter type satisfies requirements of ForwardIterator
 Cpmem::detail::is_input_iterator< T >Type trait to determine if a given parameter type satisfies requirements of InputIterator
 Cpmem::detail::is_output_iterator< T >Type trait to determine if a given parameter type satisfies requirements of OutputIterator
 Cpmem::detail::is_random_access_iterator< T >Type trait to determine if a given parameter type satisfies requirements of RandomAccessIterator
 Cpmem::layout_errorCustom layout error class
 Cstd::less< pmem::obj::p< T > >Specialization of std::less for p<T>
 Cpmem::lock_errorCustom lock error class
 Cpmem::obj::transaction::manualC++ manual scope transaction class
 Cpmem::manual_tx_abortCustom transaction error class
 Cpmem::obj::mutexPersistent memory resident mutex implementation
 Cpmem::obj::concurrent_hash_map< Key, T, Hash, KeyEqual, MutexType, ScopedLockType >::mutex_vectorVector of locks to be unlocked at the destruction time
 Cpmem::obj::object_traits< T >Encapsulates object specific allocator functionality
 Cpmem::obj::allocator< T, Policy, Traits >(EXPERIMENTAL) Encapsulates the information about the persistent memory allocation model using PMDK's libpmemobj
 Cpmem::obj::object_traits< void >Object traits specialization for the void type
 Cpmem::obj::p< T >Resides on pmem class
 Cpmem::obj::p< difference_type >
 Cpmem::obj::p< insert_stage_type >
 Cpmem::obj::p< size_type >
 Cpmem::obj::p< std::atomic< size_t > >
 Cpmem::obj::persistent_ptr< T >Persistent pointer class
 Cpmem::obj::persistent_ptr< node >
 Cpmem::obj::persistent_ptr< T[]>
 Cpmem::obj::persistent_ptr< value_type[]>
 Cpmem::obj::persistent_ptr_basePersistent_ptr base (non-template) class
 Cpmem::obj::persistent_ptr< const void >Persistent_ptr const void specialization
 Cpmem::obj::persistent_ptr< void >Persistent_ptr void specialization
 Cpmem::obj::pool< T >PMEMobj pool class
 Cpmem::obj::pool_baseThe non-template pool base class
 Cpmem::pool_errorCustom pool error class
 Cpmem::obj::standard_alloc_policy< T >::rebind< U >Rebind to a different type
 Cpmem::obj::object_traits< T >::rebind< U >Rebind to a different type
 Cpmem::obj::standard_alloc_policy< void >::rebindRebind to a different type
 Cpmem::obj::allocator< T, Policy, Traits >::rebind< U >Rebind to a different type
 Cpmem::obj::object_traits< void >::rebindRebind to a different type
 Cpmem::obj::segment_vector_internal::segment_iterator< Container, is_const >Iterator for segment_vector Since a constant iterator differs only in the type of references and pointers returned by methods, is_const template parameter is responsible for the differences between constant and non-constant iterators
 Cpmem::obj::segment_vector< T, Policy >Segment table is a data type with a vector-like interface The difference is that it does not do reallocations and iterators are not invalidated when adding new elements
 Cpmem::obj::concurrent_hash_map< Key, T, Hash, KeyEqual, MutexType, ScopedLockType >::serial_bucket_accessorSerial bucket accessor used to access bucket in a serial operations
 Cpmem::obj::shared_mutexPersistent memory resident shared_mutex implementation
 Cpmem::obj::slice< Iterator >Pmem::obj::slice - provides interface to access sequence of objects
 Cpmem::obj::standard_alloc_policy< T >The allocation policy template for a given type
 Cpmem::obj::allocator< T, Policy, Traits >(EXPERIMENTAL) Encapsulates the information about the persistent memory allocation model using PMDK's libpmemobj
 Cpmem::obj::standard_alloc_policy< void >Void specialization of the standard allocation policy
 Cpmem::detail::temp_value< T, NoExcept, Enable >Template class for caching objects based on constructor's variadic template arguments and LIBPMEMOBJ_CPP_MAX_STACK_ALLOC_SIZE
 Cpmem::detail::temp_value< T, NoExcept, typename std::enable_if< NoExcept &&(sizeof(T)< LIBPMEMOBJ_CPP_MAX_STACK_ALLOC_SIZE)>::type >Specialization for non-throwing constructors and objects smaller than LIBPMEMOBJ_CPP_MAX_STACK_ALLOC_SIZE bytes
 Cpmem::detail::temp_value< T, NoExcept, typename std::enable_if<!NoExcept||(sizeof(T) >=LIBPMEMOBJ_CPP_MAX_STACK_ALLOC_SIZE)>::type >Specialization for throwing constructors or objects greater than or equal to LIBPMEMOBJ_CPP_MAX_STACK_ALLOC_SIZE bytes
 Cpmem::detail::thread_id_typeRAII-style structure for holding thread id
 Cpmem::obj::timed_mutexPersistent memory resident timed_mutex implementation
 Cpmem::obj::transactionC++ transaction handler class
 Cpmem::transaction_errorCustom transaction error class
 Cpmem::transaction_alloc_errorCustom transaction error class
 Cpmem::transaction_free_errorCustom transaction error class
 Cpmem::transaction_out_of_memoryCustom out of memory error class
 Cpmem::transaction_scope_errorCustom transaction error class
 Cpmem::obj::transaction::tx_dataThis data is stored along with the pmemobj transaction data using pmemobj_tx_set_data()
 Cpmem::obj::transaction::automatic::uncaught_exception_counterInternal class for counting active exceptions
 Cpmem::obj::experimental::v< T >Pmem::obj::experimental::v - volatile resides on pmem class
 Cpmem::obj::vector< T >Pmem::obj::vector - persistent container with std::vector compatible interface
 Cpmem::obj::vector< value_type >
 Cpmem::detail::volatile_stateGlobal key value store which allows persistent objects to use volatile memory