Lines Matching refs:obj
26 #define AVECTOR_SIZE(obj,name) \
27 (obj)->num_##name
29 #define AVECTOR_INIT(obj,name) \
31 (obj)->name = NULL; \
32 (obj)->num_##name = 0; \
33 (obj)->max_##name = 0; \
36 #define AVECTOR_INIT_ALLOC(obj,name,count) \
38 AARRAY_NEW0( (obj)->name, (count) ); \
39 (obj)->num_##name = 0; \
40 (obj)->max_##name = (count); \
43 #define AVECTOR_DONE(obj,name) \
45 AFREE((obj)->name); \
46 (obj)->num_##name = 0; \
47 (obj)->max_##name = 0; \
50 #define AVECTOR_CLEAR(obj,name) \
52 (obj)->num_##name = 0; \
55 #define AVECTOR_AT(obj,name,index) \
56 (&(obj)->name[(index)])
58 #define AVECTOR_REALLOC(obj,name,newMax) \
60 AARRAY_RENEW((obj)->name,newMax); \
61 (obj)->max_##name = (newMax); \
64 #define AVECTOR_ENSURE(obj,name,newCount) \
67 if (_newCount > (obj)->max_##name) \
69 _avector_ensure( (void**)&(obj)->name, sizeof((obj)->name[0]), \
70 &(obj)->max_##name, _newCount ); \
76 #define AVECTOR_FOREACH(obj,name,itemptr,statement) \
79 unsigned __vector_max = (obj)->num_##name; \
81 itemptr = &(obj)->name[__vector_nn]; \