Lines Matching refs:key
33 // These dictionaries define a key-value mapping. They can be inserted to,
34 // searched or deleted from. They grow and shrink as needed. The key is a
36 // key comparison routine determines if two keys are equal or not. A hash
37 // function can be provided; if it's not provided the key itself is used
40 typedef int (*Hash)(const void *key);
42 typedef void (*FuncDict)(const void *key, const void *val, Dict *d);
49 int _cnt; // Number of key-value pairs in hash table
57 // cmp is a key comparision routine. hash is a routine to hash a key.
69 // Return # of key-value pairs in dict
72 // Insert inserts the given key-value pair into the dictionary. The prior
73 // value of the key is returned; NULL if the key was not previously defined.
74 const void *Insert(const void *key, const void *val); // A new key-value
75 const void *Delete(void *key); // Delete & return old
77 // Find finds the value of a given key; or NULL if not found.
79 const void *operator [](const void *key) const; // Do a lookup
86 // Print out the dictionary contents as key-value pairs
95 int hashptr(const void *key);
97 int hashkey(const void *key);
101 // Slimey cheap key comparator.
107 // Usage: for( DictI i(dict); i.test(); ++i ) { body = i.key; body = i.value;}
114 const void *_key, *_value; // Easy access to the key-value pair