#include <level_one_hmap.h>
Public Types | |
typedef element_parser< V_T > | V_EP |
typedef HASHNS::hash_set< E_T, HASHNS::hash< E_T >, std::equal_to< E_T >, ALLOC< E_T > > | LABELS |
typedef HASHNS::hash_map< typename V_EP::HASH_TYPE, LABELS, HASHNS::hash< typename V_EP::HASH_TYPE >, typename V_EP::COMP_FUNC, ALLOC< std::pair< typename V_EP::HASH_TYPE, LABELS > > > | NEIGHBORS |
typedef HASHNS::hash_map< typename V_EP::HASH_TYPE, NEIGHBORS, HASHNS::hash< typename V_EP::HASH_TYPE >, typename V_EP::COMP_FUNC, ALLOC< std::pair< typename V_EP::HASH_TYPE, NEIGHBORS > > > | HMAP |
typedef HMAP::const_iterator | CONST_IT |
typedef HMAP::iterator | IT |
typedef NEIGHBORS::const_iterator | CONST_NIT |
typedef NEIGHBORS::iterator | NIT |
typedef LABELS::const_iterator | CONST_LIT |
typedef LABELS::iterator | LIT |
Public Member Functions | |
void | print () const |
int | size () const |
void | insert (const V_T &src, const V_T &dest, const E_T &lbl) |
const LABELS & | get_labels (const V_T &src, const V_T &dest) const |
const NEIGHBORS & | get_neighbors (const V_T &src) const |
This class is designed to provide a fast lookup of possible labels/vertices
void level_one_hmap< V_T, E_T, ALLOC >::insert | ( | const V_T & | src, | |
const V_T & | dest, | |||
const E_T & | lbl | |||
) | [inline] |
Inserts the edge from src to dest with label lbl in the hmap; If any of src/dest are not present in hmap, they are inserted as well; This hmap does not permit parallel edges between two nodes