|
| struct | std::hash< pmem::obj::p< T > > |
| | Specialization of std::hash for p<T> More...
|
| |
| class | pmem::obj::concurrent_hash_map< Key, T, Hash, KeyEqual, MutexType, ScopedLockType > |
| | Persistent memory aware implementation of Intel TBB concurrent_hash_map More...
|
| |
| class | pmem::obj::concurrent_hash_map< Key, T, Hash, KeyEqual, MutexType, ScopedLockType >::bucket_accessor |
| | Bucket accessor is to find, rehash, acquire a lock, and access a bucket. More...
|
| |
| class | pmem::obj::concurrent_hash_map< Key, T, Hash, KeyEqual, MutexType, ScopedLockType >::serial_bucket_accessor |
| | Serial bucket accessor used to access bucket in a serial operations. More...
|
| |
| class | pmem::obj::concurrent_hash_map< Key, T, Hash, KeyEqual, MutexType, ScopedLockType >::const_accessor |
| | Combines data access, locking, and garbage collection. More...
|
| |
| class | pmem::obj::concurrent_hash_map< Key, T, Hash, KeyEqual, MutexType, ScopedLockType >::accessor |
| | Allows write access to elements and combines data access, locking, and garbage collection. More...
|
| |
| class | pmem::obj::concurrent_hash_map< Key, T, Hash, KeyEqual, MutexType, ScopedLockType >::mutex_vector |
| | Vector of locks to be unlocked at the destruction time. More...
|
| |
|
|
template<typename ScopedLockType > |
| using | pmem::obj::concurrent_hash_map_internal::scoped_lock_upgrade_to_writer = decltype(std::declval< ScopedLockType >().upgrade_to_writer()) |
| |
|
template<typename ScopedLockType > |
| using | pmem::obj::concurrent_hash_map_internal::scoped_lock_has_upgrade_to_writer = detail::supports< ScopedLockType, scoped_lock_upgrade_to_writer > |
| |
|
template<typename ScopedLockType > |
| using | pmem::obj::concurrent_hash_map_internal::scoped_lock_downgrade_to_reader = decltype(std::declval< ScopedLockType >().downgrade_to_reader()) |
| |
|
template<typename ScopedLockType > |
| using | pmem::obj::concurrent_hash_map_internal::scoped_lock_has_downgrade_to_reader = detail::supports< ScopedLockType, scoped_lock_downgrade_to_reader > |
| |
|
|
template<typename Key , typename T , typename Hash , typename KeyEqual , typename MutexType , typename ScopedLockType > |
| bool | pmem::obj::operator== (const concurrent_hash_map< Key, T, Hash, KeyEqual, MutexType, ScopedLockType > &a, const concurrent_hash_map< Key, T, Hash, KeyEqual, MutexType, ScopedLockType > &b) |
| |
|
template<typename Key , typename T , typename Hash , typename KeyEqual , typename MutexType , typename ScopedLockType > |
| bool | pmem::obj::operator!= (const concurrent_hash_map< Key, T, Hash, KeyEqual, MutexType, ScopedLockType > &a, const concurrent_hash_map< Key, T, Hash, KeyEqual, MutexType, ScopedLockType > &b) |
| |
|
template<typename Key , typename T , typename Hash , typename KeyEqual , typename MutexType , typename ScopedLockType > |
| void | pmem::obj::swap (concurrent_hash_map< Key, T, Hash, KeyEqual, MutexType, ScopedLockType > &a, concurrent_hash_map< Key, T, Hash, KeyEqual, MutexType, ScopedLockType > &b) |
| |
A persistent version of concurrent hash map implementation Ref: https://arxiv.org/abs/1509.02235.