blob: 138648d3c559010a0c4693418cd8a551e6e0c6c4 [file] [log] [blame]
Yegappan Lakshmanan9cb865e2025-03-23 16:42:16 +01001/* tuple.c */
2tuple_T *tuple_alloc(void);
3tuple_T *tuple_alloc_with_items(int count);
4void tuple_set_item(tuple_T *tuple, int idx, typval_T *tv);
5int rettv_tuple_alloc(typval_T *rettv);
6void rettv_tuple_set(typval_T *rettv, tuple_T *tuple);
7int rettv_tuple_set_with_items(typval_T *rettv, int count);
8void tuple_unref(tuple_T *tuple);
9int tuple_free_nonref(int copyID);
10void tuple_free_items(int copyID);
11void tuple_free(tuple_T *tuple);
12long tuple_len(tuple_T *tuple);
13int tuple_equal(tuple_T *t1, tuple_T *t2, int ic);
14typval_T *tuple_find(tuple_T *tuple, long n);
15int tuple_append_tv(tuple_T *tuple, typval_T *tv);
16int tuple_concat(tuple_T *t1, tuple_T *t2, typval_T *tv);
17tuple_T *tuple_slice(tuple_T *tuple, long n1, long n2);
18int tuple_slice_or_index(tuple_T *tuple, int range, varnumber_T n1_arg, varnumber_T n2_arg, int exclusive, typval_T *rettv, int verbose);
19tuple_T *tuple_copy(tuple_T *orig, int deep, int top, int copyID);
20int eval_tuple(char_u **arg, typval_T *rettv, evalarg_T *evalarg, int do_error);
21void tuple_lock(tuple_T *tuple, int deep, int lock, int check_refcount);
22int tuple_join(garray_T *gap, tuple_T *tuple, char_u *sep, int echo_style, int restore_copyID, int copyID);
23char_u *tuple2string(typval_T *tv, int copyID, int restore_copyID);
24void tuple_foreach(tuple_T *tuple, filtermap_T filtermap, typval_T *expr);
25long tuple_count(tuple_T *tuple, typval_T *needle, long idx, int ic);
26void tuple2items(typval_T *argvars, typval_T *rettv);
27int index_tuple(tuple_T *tuple, typval_T *tv, int start_idx, int ic);
28int indexof_tuple(tuple_T *tuple, long startidx, typval_T *expr);
29varnumber_T tuple_max_min(tuple_T *tuple, int domax, int *error);
30void tuple_repeat(tuple_T *tuple, int n, typval_T *rettv);
31void tuple_reverse(tuple_T *tuple, typval_T *rettv);
32void tuple_reduce(typval_T *argvars, typval_T *expr, typval_T *rettv);
33int check_tuples_addable(type_T *type1, type_T *type2);
34/* vim: set ft=c : */