PMDK C++ bindings  1.12-git53.g67ba2be4
This is the C++ bindings documentation for PMDK's libpmemobj.
Class List
Here are the classes, structs, unions and interfaces with brief descriptions:
[detail level 12345]
 NpmemPersistent memory namespace
 NdetailImplementation details
 Cbasic_contiguous_iteratorDefault non-const iterator which adds element to a transaction on every access
 Ccan_do_snapshotA structure that checks if it is possible to snapshot the specified memory
 Ccan_do_snapshot< std::atomic< obj::experimental::self_relative_ptr< T > > >Can_do_snapshot atomic specialization for self_relative_ptr
 Cconcurrent_skip_listPersistent memory aware implementation of the concurrent skip list
 Ccontiguous_iteratorBase class for iterators which satisfies RandomAccessIterator and operate on contiguous memory
 Cenumerable_thread_specificClass for storing thread local data
 Cid_managerThis structure is used for assigning unique thread ids so that those ids will be reused in case of thread exit
 Cis_bidirectional_iteratorType trait to determine if a given parameter type satisfies requirements of BidirectionalIterator
 Cis_forward_iteratorType trait to determine if a given parameter type satisfies requirements of ForwardIterator
 Cis_input_iteratorType trait to determine if a given parameter type satisfies requirements of InputIterator
 Cis_output_iteratorType trait to determine if a given parameter type satisfies requirements of OutputIterator
 Cis_random_access_iteratorType trait to determine if a given parameter type satisfies requirements of RandomAccessIterator
 Crange_snapshotting_iteratorNon-const iterator which adds elements to a transaction in a bulk
 Cself_relative_accessorStatic class accesssor to self_relative_ptr_base
 Cself_relative_ptr_base_implSelf_relative_ptr base template class
 Cthread_id_typeRAII-style structure for holding thread id
 Ctransaction_baseCommon functionality for basic_transaction and flat_transaction
 Ctx_dataThis data is stored along with the pmemobj transaction data using pmemobj_tx_set_data()
 Cvolatile_stateGlobal key value store which allows persistent objects to use volatile memory
 NobjMain libpmemobj namespace
 NexperimentalExperimental implementations
 Cbasic_inline_stringThis class serves similar purpose to pmem::obj::string, but keeps the data within the same allocation as inline_string itself
 Cconcurrent_mapPersistent memory aware implementation of Intel TBB concurrent_map
 Cradix_treeRadix tree is an associative, ordered container
 CleafThis is the structure which 'holds' key/value pair
 CnodeThis is internal node
 Cradix_tree_iteratorRadix tree iterator supports multipass and bidirectional iteration
 Cself_relative_ptrPersistent self-relative pointer class
 Ctotal_sizeofA helper trait which calculates required memory capacity (in bytes) for a type
 Ctotal_sizeof< basic_inline_string< CharT, Traits > >A helper trait which calculates required memory capacity (in bytes) for a type
 CvVolatile residing on pmem class
 Nsegment_vector_internalInternal implementation of pmem's segment vector
 Csegment_iteratorIterator for segment_vector
 Callocation_flagType of flag which can be passed to make_persistent
 Callocation_flag_atomicType of flag which can be passed to make_persistent_atomic
 Callocator(EXPERIMENTAL) Encapsulates the information about the persistent memory allocation model using PMDK's libpmemobj
 CrebindRebind to a different type
 CarrayPmem::obj::array - persistent container with std::array compatible interface
 Cbasic_stringPmem::obj::string - persistent container with std::basic_string compatible interface
 Cbasic_string_viewOur partial std::string_view implementation
 Cbasic_transactionC++ transaction handler class
 Cconcurrent_hash_mapPersistent memory aware implementation of Intel TBB concurrent_hash_map
 CaccessorAllows write access to elements and combines data access, locking, and garbage collection
 Cbucket_accessorBucket accessor is to find, rehash, acquire a lock, and access a bucket
 Cconst_accessorCombines data access, locking, and garbage collection
 Cmutex_vectorVector of locks to be unlocked at the destruction time
 Cserial_bucket_accessorSerial bucket accessor used to access bucket in a serial operations
 Ccondition_variablePersistent memory resident condition variable
 CdefragDefrag class
 Cflat_transactionC++ flat transaction handler class
 CmutexPersistent memory resident mutex implementation
 Cobject_traitsEncapsulates object specific allocator functionality
 CrebindRebind to a different type
 Cobject_traits< void >Object traits specialization for the void type
 CrebindRebind to a different type
 CpResides on pmem class
 Cpersistent_ptrPersistent pointer class
 Cpersistent_ptr< const void >Persistent_ptr const void specialization
 Cpersistent_ptr< void >Persistent_ptr void specialization
 Cpersistent_ptr_basePersistent_ptr base (non-template) class
 CpoolPMEMobj pool class
 Cpool_baseThe non-template pool base class
 Csegment_vectorA persistent version of segment vector implementation
 Cshared_mutexPersistent memory resident shared_mutex implementation
 CslicePmem::obj::slice - provides interface to access sequence of objects
 Cstandard_alloc_policyThe allocation policy template for a given type
 CrebindRebind to a different type
 Cstandard_alloc_policy< void >Void specialization of the standard allocation policy
 CrebindRebind to a different type
 Ctimed_mutexPersistent memory resident timed_mutex implementation
 CvectorPmem::obj::vector - persistent container with std::vector compatible interface
 Cctl_errorCustom ctl error class
 Cdefrag_errorCustom defrag error class
 Clayout_errorCustom layout error class
 Clock_errorCustom lock error class
 Cmanual_tx_abortCustom transaction error class
 Cpool_errorCustom pool error class
 Ctransaction_alloc_errorCustom transaction error class
 Ctransaction_errorCustom transaction error class
 Ctransaction_free_errorCustom transaction error class
 Ctransaction_out_of_memoryCustom out of memory error class
 Ctransaction_scope_errorCustom transaction error class
 Nstd
 Catomic< pmem::obj::experimental::self_relative_ptr< T > >Atomic specialization for self_relative_ptr
 Chash< pmem::obj::p< T > >Specialization of std::hash for p<T>
 Cless< pmem::obj::p< T > >Specialization of std::less for p<T>
 Cnumeric_limits< pmem::obj::p< T > >Specialization of std::numeric_limits for p<T>