PMDK C++ bindings  1.10.1
This is the C++ bindings documentation for PMDK's libpmemobj.
Public Types | Public Member Functions | List of all members
pmem::obj::concurrent_hash_map< Key, T, Hash, KeyEqual, MutexType, ScopedLockType >::const_accessor Class Reference

Combines data access, locking, and garbage collection. More...

#include <libpmemobj++/container/concurrent_hash_map.hpp>

Inheritance diagram for pmem::obj::concurrent_hash_map< Key, T, Hash, KeyEqual, MutexType, ScopedLockType >::const_accessor:
pmem::obj::concurrent_hash_map< Key, T, Hash, KeyEqual, MutexType, ScopedLockType >::accessor

Public Types

using value_type = const typename concurrent_hash_map::value_type
 Type of value.
 

Public Member Functions

bool empty () const
 
void release ()
 Release accessor. More...
 
const_reference operator* () const
 
const_pointer operator-> () const
 
 const_accessor ()
 Create empty result. More...
 
 ~const_accessor ()
 Destroy result after releasing the underlying reference.
 

Detailed Description

template<typename Key, typename T, typename Hash, typename KeyEqual, typename MutexType, typename ScopedLockType>
class pmem::obj::concurrent_hash_map< Key, T, Hash, KeyEqual, MutexType, ScopedLockType >::const_accessor

Combines data access, locking, and garbage collection.

Constructor & Destructor Documentation

◆ const_accessor()

template<typename Key , typename T , typename Hash , typename KeyEqual , typename MutexType , typename ScopedLockType >
pmem::obj::concurrent_hash_map< Key, T, Hash, KeyEqual, MutexType, ScopedLockType >::const_accessor::const_accessor ( )
inline

Create empty result.

Cannot be used in a transaction.

Member Function Documentation

◆ empty()

template<typename Key , typename T , typename Hash , typename KeyEqual , typename MutexType , typename ScopedLockType >
bool pmem::obj::concurrent_hash_map< Key, T, Hash, KeyEqual, MutexType, ScopedLockType >::const_accessor::empty ( ) const
inline
Returns
true if accessor does not hold any element, false otherwise.

◆ operator*()

template<typename Key , typename T , typename Hash , typename KeyEqual , typename MutexType , typename ScopedLockType >
const_reference pmem::obj::concurrent_hash_map< Key, T, Hash, KeyEqual, MutexType, ScopedLockType >::const_accessor::operator* ( ) const
inline
Returns
reference to associated value in hash table.

◆ operator->()

template<typename Key , typename T , typename Hash , typename KeyEqual , typename MutexType , typename ScopedLockType >
const_pointer pmem::obj::concurrent_hash_map< Key, T, Hash, KeyEqual, MutexType, ScopedLockType >::const_accessor::operator-> ( ) const
inline
Returns
pointer to associated value in hash table.

◆ release()

template<typename Key , typename T , typename Hash , typename KeyEqual , typename MutexType , typename ScopedLockType >
void pmem::obj::concurrent_hash_map< Key, T, Hash, KeyEqual, MutexType, ScopedLockType >::const_accessor::release ( )
inline

Release accessor.

Cannot be called inside of a transaction.

Exceptions
transaction_scope_errorif called inside transaction

The documentation for this class was generated from the following file: