Lines Matching defs:ph
27 #define ph(a_type) \
198 a_attr void a_prefix##new(a_ph_type *ph); \
199 a_attr bool a_prefix##empty(a_ph_type *ph); \
200 a_attr a_type *a_prefix##first(a_ph_type *ph); \
201 a_attr a_type *a_prefix##any(a_ph_type *ph); \
202 a_attr void a_prefix##insert(a_ph_type *ph, a_type *phn); \
203 a_attr a_type *a_prefix##remove_first(a_ph_type *ph); \
204 a_attr a_type *a_prefix##remove_any(a_ph_type *ph); \
205 a_attr void a_prefix##remove(a_ph_type *ph, a_type *phn);
213 a_prefix##new(a_ph_type *ph) { \
214 memset(ph, 0, sizeof(ph(a_type))); \
217 a_prefix##empty(a_ph_type *ph) { \
218 return (ph->ph_root == NULL); \
221 a_prefix##first(a_ph_type *ph) { \
222 if (ph->ph_root == NULL) { \
225 ph_merge_aux(a_type, a_field, ph, a_cmp); \
226 return ph->ph_root; \
229 a_prefix##any(a_ph_type *ph) { \
230 if (ph->ph_root == NULL) { \
233 a_type *aux = phn_next_get(a_type, a_field, ph->ph_root); \
237 return ph->ph_root; \
240 a_prefix##insert(a_ph_type *ph, a_type *phn) { \
251 if (ph->ph_root == NULL) { \
252 ph->ph_root = phn; \
255 a_field, ph->ph_root)); \
256 if (phn_next_get(a_type, a_field, ph->ph_root) != \
259 phn_next_get(a_type, a_field, ph->ph_root), \
262 phn_prev_set(a_type, a_field, phn, ph->ph_root); \
263 phn_next_set(a_type, a_field, ph->ph_root, phn); \
267 a_prefix##remove_first(a_ph_type *ph) { \
270 if (ph->ph_root == NULL) { \
273 ph_merge_aux(a_type, a_field, ph, a_cmp); \
275 ret = ph->ph_root; \
277 ph_merge_children(a_type, a_field, ph->ph_root, a_cmp, \
278 ph->ph_root); \
283 a_prefix##remove_any(a_ph_type *ph) { \
291 if (ph->ph_root == NULL) { \
294 a_type *ret = phn_next_get(a_type, a_field, ph->ph_root); \
297 phn_next_set(a_type, a_field, ph->ph_root, aux); \
300 ph->ph_root); \
304 ret = ph->ph_root; \
305 ph_merge_children(a_type, a_field, ph->ph_root, a_cmp, \
306 ph->ph_root); \
310 a_prefix##remove(a_ph_type *ph, a_type *phn) { \
313 if (ph->ph_root == phn) { \
320 ph->ph_root = phn_next_get(a_type, a_field, \
322 if (ph->ph_root != NULL) { \
324 ph->ph_root, NULL); \
328 ph_merge_aux(a_type, a_field, ph, a_cmp); \
329 if (ph->ph_root == phn) { \
330 ph_merge_children(a_type, a_field, ph->ph_root, \
331 a_cmp, ph->ph_root); \