Bram Moolenaar | cd52459 | 2016-07-17 14:57:05 +0200 | [diff] [blame] | 1 | /* dict.c */ |
| 2 | dict_T *dict_alloc(void); |
Bram Moolenaar | f49cc60 | 2018-11-11 15:21:05 +0100 | [diff] [blame] | 3 | dict_T *dict_alloc_id(alloc_id_T id); |
Bram Moolenaar | 7e1652c | 2017-12-16 18:27:02 +0100 | [diff] [blame] | 4 | dict_T *dict_alloc_lock(int lock); |
Bram Moolenaar | cd52459 | 2016-07-17 14:57:05 +0200 | [diff] [blame] | 5 | int rettv_dict_alloc(typval_T *rettv); |
Bram Moolenaar | 45cf6e9 | 2017-04-30 20:25:19 +0200 | [diff] [blame] | 6 | void rettv_dict_set(typval_T *rettv, dict_T *d); |
Bram Moolenaar | 7e1652c | 2017-12-16 18:27:02 +0100 | [diff] [blame] | 7 | void dict_free_contents(dict_T *d); |
Bram Moolenaar | cd52459 | 2016-07-17 14:57:05 +0200 | [diff] [blame] | 8 | void dict_unref(dict_T *d); |
| 9 | int dict_free_nonref(int copyID); |
| 10 | void dict_free_items(int copyID); |
| 11 | dictitem_T *dictitem_alloc(char_u *key); |
| 12 | void dictitem_remove(dict_T *dict, dictitem_T *item); |
| 13 | void dictitem_free(dictitem_T *item); |
| 14 | dict_T *dict_copy(dict_T *orig, int deep, int copyID); |
| 15 | int dict_add(dict_T *d, dictitem_T *item); |
Bram Moolenaar | e0be167 | 2018-07-08 16:50:37 +0200 | [diff] [blame] | 16 | int dict_add_number(dict_T *d, char *key, varnumber_T nr); |
Bram Moolenaar | d7f246c | 2019-04-08 18:15:41 +0200 | [diff] [blame] | 17 | int dict_add_special(dict_T *d, char *key, varnumber_T nr); |
Bram Moolenaar | e0be167 | 2018-07-08 16:50:37 +0200 | [diff] [blame] | 18 | int dict_add_string(dict_T *d, char *key, char_u *str); |
Bram Moolenaar | e6fdf79 | 2018-12-26 22:57:42 +0100 | [diff] [blame] | 19 | int dict_add_string_len(dict_T *d, char *key, char_u *str, int len); |
Bram Moolenaar | cd52459 | 2016-07-17 14:57:05 +0200 | [diff] [blame] | 20 | int dict_add_list(dict_T *d, char *key, list_T *list); |
Bram Moolenaar | 45e18cb | 2019-04-28 18:05:35 +0200 | [diff] [blame] | 21 | void dict_iterate_start(typval_T *var, dict_iterator_T *iter); |
| 22 | char_u *dict_iterate_next(dict_iterator_T *iter, typval_T **tv_result); |
Bram Moolenaar | b5ae48e | 2016-08-12 22:23:25 +0200 | [diff] [blame] | 23 | int dict_add_dict(dict_T *d, char *key, dict_T *dict); |
Bram Moolenaar | cd52459 | 2016-07-17 14:57:05 +0200 | [diff] [blame] | 24 | long dict_len(dict_T *d); |
| 25 | dictitem_T *dict_find(dict_T *d, char_u *key, int len); |
Bram Moolenaar | 8f66717 | 2018-12-14 15:38:31 +0100 | [diff] [blame] | 26 | char_u *dict_get_string(dict_T *d, char_u *key, int save); |
| 27 | varnumber_T dict_get_number(dict_T *d, char_u *key); |
Bram Moolenaar | b0ebbda | 2019-06-02 16:51:21 +0200 | [diff] [blame^] | 28 | varnumber_T dict_get_number_check(dict_T *d, char_u *key); |
Bram Moolenaar | cd52459 | 2016-07-17 14:57:05 +0200 | [diff] [blame] | 29 | char_u *dict2string(typval_T *tv, int copyID, int restore_copyID); |
Bram Moolenaar | 8f66717 | 2018-12-14 15:38:31 +0100 | [diff] [blame] | 30 | int dict_get_tv(char_u **arg, typval_T *rettv, int evaluate); |
Bram Moolenaar | cd52459 | 2016-07-17 14:57:05 +0200 | [diff] [blame] | 31 | void dict_extend(dict_T *d1, dict_T *d2, char_u *action); |
| 32 | dictitem_T *dict_lookup(hashitem_T *hi); |
| 33 | int dict_equal(dict_T *d1, dict_T *d2, int ic, int recursive); |
| 34 | void dict_list(typval_T *argvars, typval_T *rettv, int what); |
Bram Moolenaar | 7e1652c | 2017-12-16 18:27:02 +0100 | [diff] [blame] | 35 | void dict_set_items_ro(dict_T *di); |
Bram Moolenaar | cd52459 | 2016-07-17 14:57:05 +0200 | [diff] [blame] | 36 | /* vim: set ft=c : */ |