CUBRID Engine
latest
|
#include <lockfree_hashmap.hpp>
Public Member Functions | |
iterator ()=default | |
iterator (tran::index tran_index, hashmap &hash) | |
~iterator ()=default | |
T * | iterate () |
void | restart () |
iterator & | operator= (iterator &&o) |
Private Attributes | |
const size_t | INVALID_INDEX = std::numeric_limits<size_t>::max () |
hashmap * | m_hashmap |
tran::descriptor * | m_tdes |
size_t | m_bucket_index |
T * | m_curr |
Definition at line 173 of file lockfree_hashmap.hpp.
|
default |
lockfree::hashmap< Key, T >::iterator::iterator | ( | tran::index | tran_index, |
hashmap & | hash | ||
) |
Definition at line 1325 of file lockfree_hashmap.hpp.
|
default |
T * lockfree::hashmap< Key, T >::iterator::iterate | ( | ) |
Definition at line 1335 of file lockfree_hashmap.hpp.
References assert, lockfree::address_marker< T >::atomic_strip_address_mark(), lockfree::tran::descriptor::end_tran(), lockfree::hashmap< Key, T >::get_nextp_ref(), lockfree::hashmap< Key, T >::iterator::INVALID_INDEX, lockfree::address_marker< T >::is_address_marked(), lockfree::hashmap< Key, T >::lock_entry(), lockfree::hashmap< Key, T >::m_active_stats, lockfree::hashmap< Key, T >::iterator::m_bucket_index, lockfree::hashmap< Key, T >::m_buckets, lockfree::hashmap< Key, T >::iterator::m_curr, lockfree::hashmap< Key, T >::m_edesc, lockfree::hashmap< Key, T >::iterator::m_hashmap, lockfree::hashmap< Key, T >::m_size, lockfree::hashmap< Key, T >::m_stat_iterates, lockfree::hashmap< Key, T >::iterator::m_tdes, NULL, lockfree::tran::descriptor::start_tran(), lockfree::address_marker< T >::strip_address_mark(), lockfree::hashmap< Key, T >::unlock_entry(), and lf_entry_descriptor::using_mutex.
hashmap< Key, T >::iterator & lockfree::hashmap< Key, T >::iterator::operator= | ( | iterator && | o | ) |
Definition at line 1419 of file lockfree_hashmap.hpp.
References lockfree::hashmap< Key, T >::iterator::INVALID_INDEX, lockfree::hashmap< Key, T >::iterator::m_bucket_index, lockfree::hashmap< Key, T >::iterator::m_curr, lockfree::hashmap< Key, T >::iterator::m_hashmap, lockfree::hashmap< Key, T >::iterator::m_tdes, and NULL.
void lockfree::hashmap< Key, T >::iterator::restart | ( | ) |
Definition at line 1408 of file lockfree_hashmap.hpp.
References lockfree::tran::descriptor::end_tran(), lockfree::tran::descriptor::is_tran_started(), lockfree::hashmap< Key, T >::iterator::m_curr, lockfree::hashmap< Key, T >::iterator::m_tdes, and NULL.
|
private |
Definition at line 186 of file lockfree_hashmap.hpp.
Referenced by lockfree::hashmap< Key, T >::iterator::iterate(), and lockfree::hashmap< Key, T >::iterator::operator=().
|
private |
Definition at line 190 of file lockfree_hashmap.hpp.
Referenced by lockfree::hashmap< Key, T >::iterator::iterate(), and lockfree::hashmap< Key, T >::iterator::operator=().
|
private |
Definition at line 191 of file lockfree_hashmap.hpp.
Referenced by lockfree::hashmap< Key, T >::iterator::iterate(), lockfree::hashmap< Key, T >::iterator::operator=(), and lockfree::hashmap< Key, T >::iterator::restart().
|
private |
Definition at line 188 of file lockfree_hashmap.hpp.
Referenced by lockfree::hashmap< Key, T >::iterator::iterate(), and lockfree::hashmap< Key, T >::iterator::operator=().
|
private |
Definition at line 189 of file lockfree_hashmap.hpp.
Referenced by lockfree::hashmap< Key, T >::iterator::iterate(), lockfree::hashmap< Key, T >::iterator::operator=(), and lockfree::hashmap< Key, T >::iterator::restart().