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