GraphLab: Distributed Graph-Parallel API  2.1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
graphlab::cuckoo_set_pow2< Key, CuckooK, IndexType, Hash, Pred > Class Template Reference

#include <graphlab/util/cuckoo_set_pow2.hpp>

List of all members.

Public Types

typedef Key key_type
typedef Key value_type
typedef Hash hasher
typedef Pred key_equal
typedef IndexType index_type
typedef value_type * pointer
typedef value_type & reference
typedef const value_type * const_pointer
typedef const value_type & const_reference

Public Member Functions

 cuckoo_set_pow2 (key_type illegalkey, index_type stashsize=8, index_type reserve_size=128, hasher const &h=hasher(), key_equal const &k=key_equal())
 cuckoo_set_pow2 (const cuckoo_set_pow2 &other)
const key_type & illegal_key () const
cuckoo_set_pow2operator= (const cuckoo_set_pow2 &other)
index_type size () const
iterator begin ()
iterator end ()
const_iterator begin () const
const_iterator end () const
index_type compute_hash (size_t k, const uint32_t seed) const
void rehash ()
void reserve (size_t newlen)
std::pair< iterator, bool > insert (const value_type &v_)
iterator insert (const_iterator hint, value_type const &v)
iterator find (key_type const &k)
const_iterator find (key_type const &k) const
size_t count (key_type const &k) const
void erase (iterator iter)
void erase (key_type const &k)
void swap (cuckoo_set_pow2 &other)
key_equal key_eq () const
void clear ()
float load_factor () const
void save (oarchive &oarc) const
void load (iarchive &iarc)

Static Public Member Functions

static size_t mix (size_t state)
static uint64_t next_powerof2 (uint64_t val)

Detailed Description

template<typename Key, size_t CuckooK = 3, typename IndexType = size_t, typename Hash = boost::hash<Key>, typename Pred = std::equal_to<Key>>
class graphlab::cuckoo_set_pow2< Key, CuckooK, IndexType, Hash, Pred >

A cuckoo hash map which requires the user to provide an "illegal" value thus avoiding the need for a seperate bitmap. More or less similar interface as boost::unordered_map, not necessarily entirely STL compliant.

Definition at line 48 of file cuckoo_set_pow2.hpp.


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