1 2 // automatically generated by m4 from headers in proto subdir 3 4 5 #ifndef __ADT_W_ARRAY_H__ 6 #define __ADT_W_ARRAY_H__ 7 8 #include <stddef.h> 9 10 // DATA STRUCTURES 11 12 typedef struct w_array_s 13 { 14 15 void *data; 16 size_t size; 17 size_t capacity; 18 19 } w_array_t; 20 21 extern size_t __LIB__ w_array_append(w_array_t *a,void *item) __smallc; 22 extern size_t __LIB__ w_array_append_callee(w_array_t *a,void *item) __smallc __z88dk_callee; 23 #define w_array_append(a,b) w_array_append_callee(a,b) 24 25 26 extern size_t __LIB__ w_array_append_n(w_array_t *a,size_t n,void *item) __smallc; 27 extern size_t __LIB__ w_array_append_n_callee(w_array_t *a,size_t n,void *item) __smallc __z88dk_callee; 28 #define w_array_append_n(a,b,c) w_array_append_n_callee(a,b,c) 29 30 31 extern void __LIB__ *w_array_at(w_array_t *a,size_t idx) __smallc; 32 extern void __LIB__ *w_array_at_callee(w_array_t *a,size_t idx) __smallc __z88dk_callee; 33 #define w_array_at(a,b) w_array_at_callee(a,b) 34 35 36 extern void __LIB__ *w_array_back(w_array_t *a) __smallc __z88dk_fastcall; 37 38 39 extern size_t __LIB__ w_array_capacity(w_array_t *a) __smallc __z88dk_fastcall; 40 41 42 extern void __LIB__ w_array_clear(w_array_t *a) __smallc __z88dk_fastcall; 43 44 45 extern void __LIB__ *w_array_data(w_array_t *a) __smallc __z88dk_fastcall; 46 47 48 extern void __LIB__ w_array_destroy(w_array_t *a) __smallc __z88dk_fastcall; 49 50 51 extern int __LIB__ w_array_empty(w_array_t *a) __smallc __z88dk_fastcall; 52 53 54 extern size_t __LIB__ w_array_erase(w_array_t *a,size_t idx) __smallc; 55 extern size_t __LIB__ w_array_erase_callee(w_array_t *a,size_t idx) __smallc __z88dk_callee; 56 #define w_array_erase(a,b) w_array_erase_callee(a,b) 57 58 59 extern size_t __LIB__ w_array_erase_range(w_array_t *a,size_t idx_first,size_t idx_last) __smallc; 60 extern size_t __LIB__ w_array_erase_range_callee(w_array_t *a,size_t idx_first,size_t idx_last) __smallc __z88dk_callee; 61 #define w_array_erase_range(a,b,c) w_array_erase_range_callee(a,b,c) 62 63 64 extern void __LIB__ *w_array_front(w_array_t *a) __smallc __z88dk_fastcall; 65 66 67 extern w_array_t __LIB__ *w_array_init(void *p,void *data,size_t capacity) __smallc; 68 extern w_array_t __LIB__ *w_array_init_callee(void *p,void *data,size_t capacity) __smallc __z88dk_callee; 69 #define w_array_init(a,b,c) w_array_init_callee(a,b,c) 70 71 72 extern size_t __LIB__ w_array_insert(w_array_t *a,size_t idx,void *item) __smallc; 73 extern size_t __LIB__ w_array_insert_callee(w_array_t *a,size_t idx,void *item) __smallc __z88dk_callee; 74 #define w_array_insert(a,b,c) w_array_insert_callee(a,b,c) 75 76 77 extern size_t __LIB__ w_array_insert_n(w_array_t *a,size_t idx,size_t n,void *item) __smallc; 78 extern size_t __LIB__ w_array_insert_n_callee(w_array_t *a,size_t idx,size_t n,void *item) __smallc __z88dk_callee; 79 #define w_array_insert_n(a,b,c,d) w_array_insert_n_callee(a,b,c,d) 80 81 82 extern void __LIB__ *w_array_pop_back(w_array_t *a) __smallc __z88dk_fastcall; 83 84 85 extern size_t __LIB__ w_array_push_back(w_array_t *a,void *item) __smallc; 86 extern size_t __LIB__ w_array_push_back_callee(w_array_t *a,void *item) __smallc __z88dk_callee; 87 #define w_array_push_back(a,b) w_array_push_back_callee(a,b) 88 89 90 extern int __LIB__ w_array_resize(w_array_t *a,size_t n) __smallc; 91 extern int __LIB__ w_array_resize_callee(w_array_t *a,size_t n) __smallc __z88dk_callee; 92 #define w_array_resize(a,b) w_array_resize_callee(a,b) 93 94 95 extern size_t __LIB__ w_array_size(w_array_t *a) __smallc __z88dk_fastcall; 96 97 98 99 #endif 100