mirror of
https://github.com/ilyakooo0/urbit.git
synced 2024-12-30 10:27:11 +03:00
46 lines
998 B
C
46 lines
998 B
C
/* include/g/h.h
|
|
**
|
|
** This file is in the public domain.
|
|
*/
|
|
|
|
/** Functions.
|
|
***
|
|
*** Needs: delete and merge functions; clock reclamation function.
|
|
**/
|
|
|
|
/* u3_ch_new(): create hashtable.
|
|
*/
|
|
u3_ch_root*
|
|
u3_ch_new(void);
|
|
|
|
/* u3_ch_put(): insert in hashtable.
|
|
**
|
|
** `key` is RETAINED; `val` is transferred.
|
|
*/
|
|
void
|
|
u3_ch_put(u3_ch_root* har_u, u3_noun key, u3_noun val);
|
|
|
|
/* u3_ch_get(): read from hashtable.
|
|
**
|
|
** `key` is RETAINED.
|
|
*/
|
|
u3_weak
|
|
u3_ch_get(u3_ch_root* har_u, u3_noun key);
|
|
|
|
/* u3_ch_gut(): read from hashtable, unifying key nouns.
|
|
**
|
|
** `key` is RETAINED.
|
|
*/
|
|
u3_weak
|
|
u3_ch_gut(u3_ch_root* har_u, u3_noun key);
|
|
|
|
/* u3_ch_free(): free hashtable.
|
|
*/
|
|
void
|
|
u3_ch_free(u3_ch_root* har_u);
|
|
|
|
/* u3_ch_mark(): mark hashtable for gc.
|
|
*/
|
|
void
|
|
u3_ch_mark(u3_ch_root* har_u);
|