PMDK C++ bindings  1.12-git53.g67ba2be4
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 >
 Cstd::atomic< pmem::obj::experimental::self_relative_ptr< T > >Atomic specialization for self_relative_ptr
 Cpmem::obj::experimental::basic_inline_string< CharT, Traits >This class serves similar purpose to pmem::obj::string, but keeps the data within the same allocation as inline_string itself
 Cpmem::obj::basic_string< CharT, Traits >Pmem::obj::string - persistent container with std::basic_string compatible interface
 Cpmem::obj::basic_string_view< CharT, Traits >Our partial std::string_view implementation
 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::detail::can_do_snapshot< T >A structure that checks if it is possible to snapshot the specified memory
 Cpmem::detail::can_do_snapshot< std::atomic< obj::experimental::self_relative_ptr< T > > >Can_do_snapshot atomic specialization for self_relative_ptr
 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::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::contiguous_iterator< range_snapshotting_iterator< T >, T &, T * >
 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
 Cpmem::obj::experimental::radix_tree< Key, Value, BytesView >::leafThis is the structure which 'holds' key/value pair
 Cstd::less< pmem::obj::p< T > >Specialization of std::less for p<T>
 Cpmem::lock_errorCustom lock error 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::experimental::radix_tree< Key, Value, BytesView >::nodeThis is internal node
 Cstd::numeric_limits< pmem::obj::p< T > >Specialization of std::numeric_limits for p<T>
 Cpmem::obj::object_traits< T >Encapsulates object specific allocator functionality
 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::p< uint64_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::pool< T >PMEMobj pool class
 Cpmem::obj::pool_baseThe non-template pool base class
 Cpmem::pool_errorCustom pool error class
 Cpmem::obj::experimental::radix_tree< Key, Value, BytesView >Radix tree is an associative, ordered container
 Cpmem::obj::experimental::radix_tree< Key, Value, BytesView >::radix_tree_iterator< IsConst >Radix tree iterator supports multipass and bidirectional iteration
 Cpmem::obj::object_traits< T >::rebind< U >Rebind to a different type
 Cpmem::obj::standard_alloc_policy< T >::rebind< U >Rebind to a different type
 Cpmem::obj::allocator< T, Policy, Traits >::rebind< U >Rebind to a different type
 Cpmem::obj::standard_alloc_policy< void >::rebindRebind 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
 Cpmem::obj::segment_vector< T, Policy >A persistent version of segment vector implementation
 Cpmem::detail::self_relative_accessor< T >Static class accesssor to self_relative_ptr_base
 Cpmem::detail::self_relative_ptr_base_impl< OffsetType >Self_relative_ptr base template class
 Cpmem::detail::self_relative_ptr_base_impl< std::atomic< std::ptrdiff_t > >
 Cpmem::detail::self_relative_ptr_base_impl< std::ptrdiff_t >
 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::standard_alloc_policy< void >Void specialization of the standard allocation policy
 Cpmem::detail::thread_id_typeRAII-style structure for holding thread id
 Cpmem::obj::timed_mutexPersistent memory resident timed_mutex implementation
 Cpmem::obj::experimental::total_sizeof< T >A helper trait which calculates required memory capacity (in bytes) for a type
 Cpmem::obj::experimental::total_sizeof< basic_inline_string< CharT, Traits > >A helper trait which calculates required memory capacity (in bytes) for a type
 Cpmem::detail::transaction_base< is_flat >Common functionality for basic_transaction and flat_transaction
 Cpmem::detail::transaction_base< false >
 Cpmem::detail::transaction_base< true >
 Cpmem::transaction_errorCustom transaction error class
 Cpmem::transaction_scope_errorCustom transaction error class
 Cpmem::detail::transaction_base< is_flat >::tx_dataThis data is stored along with the pmemobj transaction data using pmemobj_tx_set_data()
 Cpmem::detail::transaction_base< is_flat >::automatic::uncaught_exception_counterInternal class for counting active exceptions
 Cpmem::obj::experimental::v< T >Volatile residing 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