Skip to content

Class lockfree::hashmap

template <class Key, class T>

ClassList > lockfree > hashmap

  • #include <lockfree_hashmap.hpp>

Classes

Type Name
class iterator

Public Functions

Type Name
void activate_stats ()
void clear (tran::index tran_index)
void deactivate_stats ()
void destroy ()
void dump_stats (std::ostream & os) const
void end_tran (tran::index tran_index)
bool erase (tran::index tran_index, Key & key)
bool erase_locked (tran::index tran_index, Key & key, T *& locked_entry)
T * find (tran::index tran_index, Key & key)
bool find_or_insert (tran::index tran_index, Key & key, T *& entry)
T * freelist_claim (tran::index tran_index)
void freelist_retire (tran::index tran_index, T *& entry)
size_t get_alloc_element_count () const
size_t get_element_count () const
size_t get_size () const
hashmap ()
void init (tran::system & transys, size_t hash_size, size_t freelist_block_size, size_t freelist_block_count, lf_entry_descriptor & edesc)
bool insert (tran::index tran_index, Key & key, T *& entry)
bool insert_given (tran::index tran_index, Key & key, T *& entry)
void start_tran (tran::index tran_index)
void unlock (tran::index tran_index, T *& entry)
~hashmap ()

Public Functions Documentation

function activate_stats

void lockfree::hashmap::activate_stats () 

function clear

void lockfree::hashmap::clear (
    tran::index tran_index
) 

function deactivate_stats

void lockfree::hashmap::deactivate_stats () 

function destroy

void lockfree::hashmap::destroy () 

function dump_stats

template<typename  D>
void lockfree::hashmap::dump_stats (
    std::ostream & os
) const

function end_tran

void lockfree::hashmap::end_tran (
    tran::index tran_index
) 

function erase

bool lockfree::hashmap::erase (
    tran::index tran_index,
    Key & key
) 

function erase_locked

bool lockfree::hashmap::erase_locked (
    tran::index tran_index,
    Key & key,
    T *& locked_entry
) 

function find

T * lockfree::hashmap::find (
    tran::index tran_index,
    Key & key
) 

function find_or_insert

bool lockfree::hashmap::find_or_insert (
    tran::index tran_index,
    Key & key,
    T *& entry
) 

function freelist_claim [1/2]

T * lockfree::hashmap::freelist_claim (
    tran::index tran_index
) 

function freelist_retire [1/2]

void lockfree::hashmap::freelist_retire (
    tran::index tran_index,
    T *& entry
) 

function get_alloc_element_count

size_t lockfree::hashmap::get_alloc_element_count () const

function get_element_count

size_t lockfree::hashmap::get_element_count () const

function get_size

size_t lockfree::hashmap::get_size () const

function hashmap

lockfree::hashmap::hashmap () 

function init

void lockfree::hashmap::init (
    tran::system & transys,
    size_t hash_size,
    size_t freelist_block_size,
    size_t freelist_block_count,
    lf_entry_descriptor & edesc
) 

function insert

bool lockfree::hashmap::insert (
    tran::index tran_index,
    Key & key,
    T *& entry
) 

function insert_given

bool lockfree::hashmap::insert_given (
    tran::index tran_index,
    Key & key,
    T *& entry
) 

function start_tran

void lockfree::hashmap::start_tran (
    tran::index tran_index
) 

function unlock

void lockfree::hashmap::unlock (
    tran::index tran_index,
    T *& entry
) 

function ~hashmap

lockfree::hashmap::~hashmap () 


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