Skip to content

Class cubthread::lockfree_hashmap

template <class Key, class T>

ClassList > cubthread > lockfree_hashmap

  • #include <thread_lockfree_hash_map.hpp>

Classes

Type Name
class iterator

Public Functions

Type Name
void clear (cubthread::entry * thread_p)
void destroy ()
void end_tran (cubthread::entry * thread_p)
bool erase (cubthread::entry * thread_p, Key & key)
bool erase_locked (cubthread::entry * thread_p, Key & key, T *& t)
T * find (cubthread::entry * thread_p, Key & key)
bool find_or_insert (cubthread::entry * thread_p, Key & key, T *& t)
T * freelist_claim (cubthread::entry * thread_p)
void freelist_retire (cubthread::entry * thread_p, T *& t)
size_t get_alloc_element_count () const
size_t get_element_count () const
size_t get_size () const
void init (lf_tran_system & transys, int entry_idx, int hash_size, int freelist_block_size, int freelist_block_count, lf_entry_descriptor & edesc)
void init_as_new (lockfree::tran::system & transys, size_t hash_size, size_t freelist_block_size, size_t freelist_block_count, lf_entry_descriptor & edesc)
void init_as_old (lf_tran_system & transys, int hash_size, int freelist_block_count, int freelist_block_size, lf_entry_descriptor & edesc, int entry_idx)
bool insert (cubthread::entry * thread_p, Key & key, T *& t)
bool insert_given (cubthread::entry * thread_p, Key & key, T *& t)
lockfree_hashmap ()
void start_tran (cubthread::entry * thread_p)
void unlock (cubthread::entry * thread_p, T *& t)

Public Functions Documentation

function clear

void cubthread::lockfree_hashmap::clear (
    cubthread::entry * thread_p
) 

function destroy

void cubthread::lockfree_hashmap::destroy () 

function end_tran

void cubthread::lockfree_hashmap::end_tran (
    cubthread::entry * thread_p
) 

function erase

bool cubthread::lockfree_hashmap::erase (
    cubthread::entry * thread_p,
    Key & key
) 

function erase_locked

bool cubthread::lockfree_hashmap::erase_locked (
    cubthread::entry * thread_p,
    Key & key,
    T *& t
) 

function find

T * cubthread::lockfree_hashmap::find (
    cubthread::entry * thread_p,
    Key & key
) 

function find_or_insert

bool cubthread::lockfree_hashmap::find_or_insert (
    cubthread::entry * thread_p,
    Key & key,
    T *& t
) 

function freelist_claim

T * cubthread::lockfree_hashmap::freelist_claim (
    cubthread::entry * thread_p
) 

function freelist_retire

void cubthread::lockfree_hashmap::freelist_retire (
    cubthread::entry * thread_p,
    T *& t
) 

function get_alloc_element_count

size_t cubthread::lockfree_hashmap::get_alloc_element_count () const

function get_element_count

size_t cubthread::lockfree_hashmap::get_element_count () const

function get_size

size_t cubthread::lockfree_hashmap::get_size () const

function init

void cubthread::lockfree_hashmap::init (
    lf_tran_system & transys,
    int entry_idx,
    int hash_size,
    int freelist_block_size,
    int freelist_block_count,
    lf_entry_descriptor & edesc
) 

function init_as_new

void cubthread::lockfree_hashmap::init_as_new (
    lockfree::tran::system & transys,
    size_t hash_size,
    size_t freelist_block_size,
    size_t freelist_block_count,
    lf_entry_descriptor & edesc
) 

function init_as_old

void cubthread::lockfree_hashmap::init_as_old (
    lf_tran_system & transys,
    int hash_size,
    int freelist_block_count,
    int freelist_block_size,
    lf_entry_descriptor & edesc,
    int entry_idx
) 

function insert

bool cubthread::lockfree_hashmap::insert (
    cubthread::entry * thread_p,
    Key & key,
    T *& t
) 

function insert_given

bool cubthread::lockfree_hashmap::insert_given (
    cubthread::entry * thread_p,
    Key & key,
    T *& t
) 

function lockfree_hashmap

cubthread::lockfree_hashmap::lockfree_hashmap () 

function start_tran

void cubthread::lockfree_hashmap::start_tran (
    cubthread::entry * thread_p
) 

function unlock

void cubthread::lockfree_hashmap::unlock (
    cubthread::entry * thread_p,
    T *& t
) 


The documentation for this class was generated from the following file cubrid/src/thread/thread_lockfree_hash_map.hpp