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

#include <graphlab/util/cuckoo_map.hpp>

List of all members.

Public Types

typedef Key key_type
typedef std::pair< Key const,
Value > 
value_type
typedef Value mapped_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_map (key_type illegalkey, index_type stashsize=8, hasher const &h=hasher(), key_equal const &k=key_equal())
cuckoo_mapoperator= (const cuckoo_map &other)
const key_type & illegal_key () const
index_type size ()
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_map &other)
mapped_type & operator[] (const key_type &i)
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)

Detailed Description

template<typename Key, typename Value, size_t CuckooK = 3, typename IndexType = size_t, typename Hash = boost::hash<Key>, typename Pred = std::equal_to<Key>>
class graphlab::cuckoo_map< Key, Value, 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 49 of file cuckoo_map.hpp.


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