1/* list.c */ 2void list_add_watch(list_T *l, listwatch_T *lw); 3void list_rem_watch(list_T *l, listwatch_T *lwrem); 4list_T *list_alloc(void); 5list_T *list_alloc_id(alloc_id_T id); 6list_T *list_alloc_with_items(int count); 7void list_set_item(list_T *l, int idx, typval_T *tv); 8int rettv_list_alloc(typval_T *rettv); 9int rettv_list_alloc_id(typval_T *rettv, alloc_id_T id); 10void rettv_list_set(typval_T *rettv, list_T *l); 11void list_unref(list_T *l); 12int list_free_nonref(int copyID); 13void list_free_items(int copyID); 14void list_free(list_T *l); 15listitem_T *listitem_alloc(void); 16void listitem_free(list_T *l, listitem_T *item); 17void listitem_remove(list_T *l, listitem_T *item); 18long list_len(list_T *l); 19int list_equal(list_T *l1, list_T *l2, int ic, int recursive); 20listitem_T *list_find(list_T *l, long n); 21long list_find_nr(list_T *l, long idx, int *errorp); 22char_u *list_find_str(list_T *l, long idx); 23listitem_T *list_find_index(list_T *l, long *idx); 24long list_idx_of_item(list_T *l, listitem_T *item); 25void list_append(list_T *l, listitem_T *item); 26int list_append_tv(list_T *l, typval_T *tv); 27int list_append_dict(list_T *list, dict_T *dict); 28int list_append_list(list_T *list1, list_T *list2); 29int list_append_string(list_T *l, char_u *str, int len); 30int list_append_number(list_T *l, varnumber_T n); 31int list_insert_tv(list_T *l, typval_T *tv, listitem_T *item); 32void list_insert(list_T *l, listitem_T *ni, listitem_T *item); 33listitem_T *check_range_index_one(list_T *l, long *n1, int quiet); 34int check_range_index_two(list_T *l, long *n1, listitem_T *li1, long *n2, int quiet); 35int list_assign_range(list_T *dest, list_T *src, long idx1_arg, long idx2, int empty_idx2, char_u *op, char_u *varname); 36void f_flatten(typval_T *argvars, typval_T *rettv); 37void f_flattennew(typval_T *argvars, typval_T *rettv); 38int list_extend(list_T *l1, list_T *l2, listitem_T *bef); 39int list_concat(list_T *l1, list_T *l2, typval_T *tv); 40list_T *list_slice(list_T *ol, long n1, long n2); 41int list_slice_or_index(list_T *list, int range, varnumber_T n1_arg, varnumber_T n2_arg, int exclusive, typval_T *rettv, int verbose); 42list_T *list_copy(list_T *orig, int deep, int copyID); 43void vimlist_remove(list_T *l, listitem_T *item, listitem_T *item2); 44char_u *list2string(typval_T *tv, int copyID, int restore_copyID); 45int list_join(garray_T *gap, list_T *l, char_u *sep, int echo_style, int restore_copyID, int copyID); 46void f_join(typval_T *argvars, typval_T *rettv); 47int eval_list(char_u **arg, typval_T *rettv, evalarg_T *evalarg, int do_error); 48int write_list(FILE *fd, list_T *list, int binary); 49void init_static_list(staticList10_T *sl); 50void f_list2str(typval_T *argvars, typval_T *rettv); 51void f_sort(typval_T *argvars, typval_T *rettv); 52void f_uniq(typval_T *argvars, typval_T *rettv); 53void f_filter(typval_T *argvars, typval_T *rettv); 54void f_map(typval_T *argvars, typval_T *rettv); 55void f_mapnew(typval_T *argvars, typval_T *rettv); 56void f_add(typval_T *argvars, typval_T *rettv); 57void f_count(typval_T *argvars, typval_T *rettv); 58void f_extend(typval_T *argvars, typval_T *rettv); 59void f_extendnew(typval_T *argvars, typval_T *rettv); 60void f_insert(typval_T *argvars, typval_T *rettv); 61void f_remove(typval_T *argvars, typval_T *rettv); 62void f_reverse(typval_T *argvars, typval_T *rettv); 63void f_reduce(typval_T *argvars, typval_T *rettv); 64/* vim: set ft=c : */ 65