blob: 9db43b944b0d73d58880685316abfd8290c05e01 [file] [log] [blame]
Bram Moolenaarcd524592016-07-17 14:57:05 +02001/* dict.c */
2dict_T *dict_alloc(void);
Bram Moolenaar7e1652c2017-12-16 18:27:02 +01003dict_T *dict_alloc_lock(int lock);
Bram Moolenaarcd524592016-07-17 14:57:05 +02004int rettv_dict_alloc(typval_T *rettv);
Bram Moolenaar45cf6e92017-04-30 20:25:19 +02005void rettv_dict_set(typval_T *rettv, dict_T *d);
Bram Moolenaar7e1652c2017-12-16 18:27:02 +01006void dict_free_contents(dict_T *d);
Bram Moolenaarcd524592016-07-17 14:57:05 +02007void dict_unref(dict_T *d);
8int dict_free_nonref(int copyID);
9void dict_free_items(int copyID);
10dictitem_T *dictitem_alloc(char_u *key);
11void dictitem_remove(dict_T *dict, dictitem_T *item);
12void dictitem_free(dictitem_T *item);
13dict_T *dict_copy(dict_T *orig, int deep, int copyID);
14int dict_add(dict_T *d, dictitem_T *item);
15int dict_add_nr_str(dict_T *d, char *key, varnumber_T nr, char_u *str);
16int dict_add_list(dict_T *d, char *key, list_T *list);
Bram Moolenaarb5ae48e2016-08-12 22:23:25 +020017int dict_add_dict(dict_T *d, char *key, dict_T *dict);
Bram Moolenaarcd524592016-07-17 14:57:05 +020018long dict_len(dict_T *d);
19dictitem_T *dict_find(dict_T *d, char_u *key, int len);
20char_u *get_dict_string(dict_T *d, char_u *key, int save);
21varnumber_T get_dict_number(dict_T *d, char_u *key);
22char_u *dict2string(typval_T *tv, int copyID, int restore_copyID);
23int get_dict_tv(char_u **arg, typval_T *rettv, int evaluate);
24void dict_extend(dict_T *d1, dict_T *d2, char_u *action);
25dictitem_T *dict_lookup(hashitem_T *hi);
26int dict_equal(dict_T *d1, dict_T *d2, int ic, int recursive);
27void dict_list(typval_T *argvars, typval_T *rettv, int what);
Bram Moolenaar7e1652c2017-12-16 18:27:02 +010028void dict_set_items_ro(dict_T *di);
Bram Moolenaarcd524592016-07-17 14:57:05 +020029/* vim: set ft=c : */