PMDK C++ bindings  1.13.0-git107.g7e59f08f
This is the C++ bindings documentation for PMDK's libpmemobj.
Class Hierarchy

Go to the graphical class hierarchy

This inheritance list is sorted roughly, but not completely, alphabetically:
[detail level 12345]
 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 >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::atomic_persistent_aware_ptr< T, ReadOptimized >Atomic specialization of a persistent ptr (self_relative_ptr) that manages its persistence by itself
 Cpmem::obj::experimental::basic_dram_inline_string< CharT, Traits >Pmem/DRAM variation of pmem::obj::string, where data is kept right next to the inline_string structure
 Cpmem::obj::experimental::basic_inline_string< CharT, Traits >Pmem-only variation of pmem::obj::string, where data is kept right next to the inline_string structure
 Cpmem::obj::basic_string< CharT, Traits >Persistent string container with std::basic_string compatible interface
 Cpmem::obj::basic_string_view< CharT, Traits >Our partial std::string_view implementation
 Cpmem::obj::basic_string_view< CharT, Traits >
 Cpmem::obj::experimental::mpsc_queue::batch_typeType representing the range of the mpsc_queue elements
 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 > > >Pmem::detail::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 with API partially compatible to std::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::obj::defragDefrag class
 Cpmem::detail::ebrEpoch-based reclamation (EBR)
 Cpmem::detail::enumerable_thread_specific< T, Mutex, Storage >Class for storing thread local data
 Cpmem::detail::enumerable_thread_specific< tls_entry_type >
 Cstd::exceptionSTL class
 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::obj::experimental::radix_tree< Key, Value, BytesView, MtMode >::leafThis is the structure which 'holds' key/value pair
 Cstd::less< pmem::obj::p< T > >Specialization of std::less for p<T>
 Cpmem::obj::experimental::mpsc_queuePersistent memory aware implementation of multi producer single consumer queue
 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, MtMode >::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_t >
 Cpmem::obj::p< size_type >
 Cpmem::obj::p< std::atomic< size_t > >
 Cpmem::obj::p< uint64_t >
 Cpmem::obj::persistent_ptr_basePersistent_ptr base (non-template) class
 Cpmem::obj::experimental::mpsc_queue::pmem_log_typeType representing persistent data, which may be managed by mpsc_queue
 Cpmem::obj::pool_baseThe non-template pool base class
 Cpmem::obj::experimental::radix_tree< Key, Value, BytesView, MtMode >Persistent associative, ordered container with API similar and partially compatible with the API of std::map
 Cpmem::obj::allocator< T, Policy, Traits >::rebind< U >Rebind to a different type
 Cpmem::obj::object_traits< T >::rebind< U >Rebind to a different type
 Cpmem::obj::object_traits< void >::rebindRebind to a different type
 Cpmem::obj::standard_alloc_policy< T >::rebind< U >Rebind to a different type
 Cpmem::obj::standard_alloc_policy< 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 >Persistent version of segment vector with std::vector compatible interface
 Cpmem::detail::self_relative_accessor< T >Static class accessor 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::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 >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
 Cstd::system_errorSTL class
 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::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_dram_inline_string< CharT, Traits > >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::obj::experimental::v< T >Volatile residing on pmem class
 Cpmem::obj::vector< T >Persistent container with std::vector compatible interface
 Cpmem::obj::vector< char >
 Cpmem::obj::vector< pointer_type >
 Cpmem::obj::vector< value_type >
 Cpmem::detail::volatile_stateGlobal key value store which allows persistent objects to use volatile memory
 Cpmem::obj::experimental::mpsc_queue::workerMpsc_queue producer worker class