MADNESS 0.10.1
|
#include <worldhashmap.h>
Public Types | |
typedef std::conditional< std::is_const< hashT >::value, typenamestd::add_const< typenamehashT::datumT >::type, typenamehashT::datumT >::type | datumT |
typedef std::conditional< std::is_const< hashT >::value, typenamestd::add_const< typenamehashT::entryT >::type, typenamehashT::entryT >::type | entryT |
typedef datumT * | pointer |
typedef datumT & | reference |
typedef datumT | value_type |
Public Member Functions | |
HashAccessor () | |
HashAccessor (entryT *entry) | |
~HashAccessor () | |
datumT & | operator* () const |
datumT * | operator-> () const |
void | release () |
Private Member Functions | |
void | convert_read_lock_to_write_lock () |
void | set (entryT *entry) |
Used by Hash to set entry (assumed that it has the lock already) | |
void | unset () |
Used by Hash after having already released lock and deleted entry. | |
![]() | |
NO_DEFAULTS () | |
NO_DEFAULTS (const NO_DEFAULTS &)=delete | |
NO_DEFAULTS (NO_DEFAULTS &&)=delete | |
NO_DEFAULTS & | operator= (const NO_DEFAULTS &)=delete |
NO_DEFAULTS & | operator= (NO_DEFAULTS &&)=delete |
Private Attributes | |
entryT * | entry |
bool | gotlock |
Friends | |
template<class a , class b , class c > | |
class | madness::ConcurrentHashMap |
typedef std::conditional<std::is_const<hashT>::value,typenamestd::add_const<typenamehashT::datumT>::type,typenamehashT::datumT>::type madness::Hash_private::HashAccessor< hashT, lockmode >::datumT |
typedef std::conditional<std::is_const<hashT>::value,typenamestd::add_const<typenamehashT::entryT>::type,typenamehashT::entryT>::type madness::Hash_private::HashAccessor< hashT, lockmode >::entryT |
typedef datumT* madness::Hash_private::HashAccessor< hashT, lockmode >::pointer |
typedef datumT& madness::Hash_private::HashAccessor< hashT, lockmode >::reference |
typedef datumT madness::Hash_private::HashAccessor< hashT, lockmode >::value_type |
|
inline |
|
inline |
|
inline |
|
inlineprivate |
|
inline |
References madness::Hash_private::entry< keyT, valueT >::datum, and MADNESS_EXCEPTION.
|
inline |
References madness::Hash_private::entry< keyT, valueT >::datum, and MADNESS_EXCEPTION.
|
inline |
References madness::Hash_private::HashAccessor< hashT, lockmode >::gotlock, madness::nonlinear_vector_solver(), and madness::MutexReaderWriter::unlock().
Referenced by madness::Hash_private::HashAccessor< hashT, lockmode >::~HashAccessor(), madness::ConcurrentHashMap< keyT, valueT, hashfunT >::find(), madness::ConcurrentHashMap< keyT, valueT, hashfunT >::find(), madness::ConcurrentHashMap< keyT, valueT, hashfunT >::insert(), madness::ConcurrentHashMap< keyT, valueT, hashfunT >::insert(), and madness::Hash_private::HashAccessor< hashT, lockmode >::set().
|
inlineprivate |
Used by Hash to set entry (assumed that it has the lock already)
References madness::Hash_private::HashAccessor< hashT, lockmode >::entry, madness::Hash_private::HashAccessor< hashT, lockmode >::gotlock, and madness::Hash_private::HashAccessor< hashT, lockmode >::release().
Referenced by madness::ConcurrentHashMap< keyT, valueT, hashfunT >::find(), madness::ConcurrentHashMap< keyT, valueT, hashfunT >::find(), madness::ConcurrentHashMap< keyT, valueT, hashfunT >::insert(), and madness::ConcurrentHashMap< keyT, valueT, hashfunT >::insert().
|
inlineprivate |
Used by Hash after having already released lock and deleted entry.
References madness::Hash_private::HashAccessor< hashT, lockmode >::gotlock.
|
private |
|
private |