Logo Search packages:      
Sourcecode: jellyfish version File versions  Download package

Classes | Public Types | Public Member Functions | Private Types | Private Member Functions | Private Attributes | Friends

jellyfish::invertible_hash::array< word, atomic_t, mem_block_t > Class Template Reference

Inheritance diagram for jellyfish::invertible_hash::array< word, atomic_t, mem_block_t >:
Inheritance graph
Collaboration diagram for jellyfish::invertible_hash::array< word, atomic_t, mem_block_t >:
Collaboration graph

List of all members.


struct  header
class  iterator
class  overlap_iterator

Public Types

typedef word key_t
typedef word val_t

Public Member Functions

bool _get_val (const size_t id, size_t &key_id, const word key, word &val, const bool full=false) const
bool add (word key, word val, word *oval=0)
bool add (word _key, bool *is_new) __attribute__((deprecated))
bool add (word _key, bool *is_new, size_t *id) __attribute__((deprecated))
 array (char *map, size_t _size, uint_t _key_len, uint_t _val_len, uint_t _reprobe_limit, size_t *_reprobes, SquareBinaryMatrix &_hash_matrix, SquareBinaryMatrix &_hash_inverse_matrix)
 array (size_t _size, uint_t _key_len, uint_t _val_len, uint_t _reprobe_limit, size_t *_reprobes)
size_t floor_block (size_t entries, size_t &blocks) const
uint_t get_block_len () const
uint_t get_block_word_len () const
void get_entry_stats (size_t id, bool &empty, word &key, bool &large) const
uint_t get_key_len () const
bool get_key_val (size_t id, word &key, word &val) const
bool get_key_val_full (size_t id, word &key, word &val) const
size_t get_lsize () const
uint_t get_max_reprobe () const
size_t get_max_reprobe_offset () const
size_t get_size () const
bool get_val (const word key, size_t &key_id, word &val, bool full=false) const
bool get_val (const word key, word &val, bool full=false) const
uint_t get_val_len () const
iterator iterator_all () const
iterator iterator_slice (size_t slice_number, size_t number_of_slice) const
int lock ()
bool set (word _key, bool *is_new)
bool set (word _key, bool *is_new, size_t *id)
void set_matrix (SquareBinaryMatrix &m)
void write_ary_header (std::ostream *out) const
void write_blocks (std::ostream *out, const size_t start, const size_t length) const
void write_raw (std::ostream *out) const
void zero_blocks (const size_t start, const size_t length)

Private Types

typedef Offsets< word >::offset_t offset_t

Private Member Functions

bool add_rec (size_t id, word key, word val, bool large, word *oval)
word add_val (word *w, word val, uint_t shift, word mask)
void block_to_ptr (const size_t start, const size_t blen, char **start_ptr, size_t *memlen) const
bool claim_key (const word &key, bool *is_new, size_t *id, bool large, const offset_t **_ao, word **_w)
bool set_key (word *w, word nkey, word free_mask, word equal_mask, bool *is_new)
bool set_key (word *w, word nkey, word free_mask, word equal_mask)

Private Attributes

atomic_t atomic
word * data
SquareBinaryMatrix hash_inverse_matrix
SquareBinaryMatrix hash_matrix
uint_t key_len
word key_mask
uint_t key_off
uint_t lsize
mem_block_t mem_block
Offsets< word > offsets
reprobe_limit_t reprobe_limit
size_t * reprobes
size_t size
size_t size_mask


class iterator
class overlap_iterator

Detailed Description

template<typename word, typename atomic_t, typename mem_block_t>
class jellyfish::invertible_hash::array< word, atomic_t, mem_block_t >

Definition at line 73 of file invertible_hash_array.hpp.

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

Generated by  Doxygen 1.6.0   Back to index