Lines Matching refs:dtor
53 * DTOR is non-NULL, it is invoked on all hitherto created elements
54 * with the same DATA. If one of CLONE, DTOR is non-NULL, then both
58 void (*dtor)(void *elt, void *data),
61 /* Destroy VEC, which holds elements of type ELT_TYPE, using DTOR. */
62 #define VECT_CLONE(TGT_VEC, SRC_VEC, ELT_TYPE, CLONE, DTOR, DATA) \
68 void (*_dtor_callback)(ELT_TYPE *, void *) = DTOR; \
100 * vect_erase(VEC, vect_size(VEC)-1, vect_size(VEC), DTOR, DATA); */
102 void (*dtor)(void *emt, void *data), void *data);
104 #define VECT_POPBACK(VECP, ELT_TYPE, DTOR, DATA) \
108 DTOR, DATA); \
112 * DTOR is non-NULL, it is called on each of the removed elements.
113 * DATA is passed verbatim to DTOR. */
115 void (*dtor)(void *emt, void *data), void *data);
117 #define VECT_ERASE(VECP, ELT_TYPE, START, END, DTOR, DATA) \
120 /* Check that DTOR is typed properly. */ \
121 void (*_dtor_callback)(ELT_TYPE *, void *) = DTOR; \
140 /* Destroy VEC. If DTOR is non-NULL, then it's called on each element
141 * of the vector. DATA is passed to DTOR verbatim. The memory
144 void (*dtor)(void *emt, void *data), void *data);
146 /* Destroy VEC, which holds elements of type ELT_TYPE, using DTOR. */
147 #define VECT_DESTROY(VECP, ELT_TYPE, DTOR, DATA) \
150 /* Check that DTOR is typed properly. */ \
151 void (*_dtor_callback)(ELT_TYPE *, void *) = DTOR; \
208 /* A dtor which calls 'free' on elements of a vector. */