Lines Matching refs:icd

60     UT_icd icd;  /* initializer, copy and destructor functions */  member
66 (a)->icd=*_icd; \
71 if ((a)->icd.dtor) { \
74 (a)->icd.dtor(utarray_eltptr(a,_ut_i)); \
95 if ( ((a)->d=(char*)realloc((a)->d, (a)->n*(a)->icd.sz)) == NULL) oom(); \
101 if ((a)->icd.copy) { (a)->icd.copy( _utarray_eltptr(a,(a)->i++), p); } \
102 else { memcpy(_utarray_eltptr(a,(a)->i++), p, (a)->icd.sz); }; \
106 if ((a)->icd.dtor) { (a)->icd.dtor( _utarray_eltptr(a,--((a)->i))); } \
112 if ((a)->icd.init) { (a)->icd.init(_utarray_eltptr(a,(a)->i)); } \
113 else { memset(_utarray_eltptr(a,(a)->i),0,(a)->icd.sz); } \
120 #define _utarray_eltptr(a,j) ((char*)((a)->d + ((a)->icd.sz*(j) )))
127 ((a)->i - (j))*((a)->icd.sz)); \
129 if ((a)->icd.copy) { (a)->icd.copy( _utarray_eltptr(a,j), p); } \
130 else { memcpy(_utarray_eltptr(a,j), p, (a)->icd.sz); }; \
141 ((a)->i - (j))*((a)->icd.sz)); \
143 if ((a)->icd.copy) { \
146 (a)->icd.copy(_utarray_eltptr(a,j+_ut_i), _utarray_eltptr(w,_ut_i)); \
150 utarray_len(w)*((a)->icd.sz)); \
158 if ((dst)->icd.dtor) { \
160 (dst)->icd.dtor(utarray_eltptr(dst,_ut_i)); \
165 if ((dst)->icd.init) { \
167 (dst)->icd.init(utarray_eltptr(dst,_ut_i)); \
170 memset(_utarray_eltptr(dst,dst->i),0,(dst)->icd.sz*(num-dst->i)); \
181 if ((a)->icd.dtor) { \
184 (a)->icd.dtor(utarray_eltptr((a),pos+_ut_i)); \
189 (((a)->i)-(pos+len))*((a)->icd.sz)); \
201 if ((a)->icd.dtor) { \
204 (a)->icd.dtor(utarray_eltptr(a,_ut_i)); \
212 qsort((a)->d, (a)->i, (a)->icd.sz, cmp); \
215 #define utarray_find(a,v,cmp) bsearch((v),(a)->d,(a)->i,(a)->icd.sz,cmp)
221 …idx(a,e) (((char*)(e) >= (char*)((a)->d)) ? (int)(((char*)(e) - (char*)((a)->d))/(a)->icd.sz) : -1)