1/* dict.c */ 2dict_T *dict_alloc(void); 3dict_T *dict_alloc_id(alloc_id_T id); 4dict_T *dict_alloc_lock(int lock); 5int rettv_dict_alloc(typval_T *rettv); 6void rettv_dict_set(typval_T *rettv, dict_T *d); 7void dict_free_contents(dict_T *d); 8void dict_unref(dict_T *d); 9int dict_free_nonref(int copyID); 10void dict_free_items(int copyID); 11dictitem_T *dictitem_alloc(char_u *key); 12void dictitem_remove(dict_T *dict, dictitem_T *item); 13void dictitem_free(dictitem_T *item); 14dict_T *dict_copy(dict_T *orig, int deep, int copyID); 15int dict_add(dict_T *d, dictitem_T *item); 16int dict_add_number(dict_T *d, char *key, varnumber_T nr); 17int dict_add_string(dict_T *d, char *key, char_u *str); 18int dict_add_string_len(dict_T *d, char *key, char_u *str, int len); 19int dict_add_list(dict_T *d, char *key, list_T *list); 20int dict_add_dict(dict_T *d, char *key, dict_T *dict); 21long dict_len(dict_T *d); 22dictitem_T *dict_find(dict_T *d, char_u *key, int len); 23char_u *dict_get_string(dict_T *d, char_u *key, int save); 24varnumber_T dict_get_number(dict_T *d, char_u *key); 25char_u *dict2string(typval_T *tv, int copyID, int restore_copyID); 26int dict_get_tv(char_u **arg, typval_T *rettv, int evaluate); 27void dict_extend(dict_T *d1, dict_T *d2, char_u *action); 28dictitem_T *dict_lookup(hashitem_T *hi); 29int dict_equal(dict_T *d1, dict_T *d2, int ic, int recursive); 30void dict_list(typval_T *argvars, typval_T *rettv, int what); 31void dict_set_items_ro(dict_T *di); 32/* vim: set ft=c : */ 33