Lines Matching refs:elem
71 # define array_foreach(array, elem) \
72 for (const void *elem ## __foreach_end = \
73 (const char *)(elem = *(array)->v) + (array)->arr.buffer->used; \
74 elem != elem ## __foreach_end; (elem)++)
75 # define array_foreach_modifiable(array, elem) \
76 for (const void *elem ## _end = \
77 (const char *)(elem = ARRAY_TYPE_CAST_MODIFIABLE(array) \
80 elem != elem ## _end; (elem)++)
86 # define array_foreach_elem(array, elem) \
87 for (unsigned int _foreach_offset = ARRAY_TYPE_CHECK(array, &elem) + \
88 COMPILE_ERROR_IF_TRUE(sizeof(elem) > 16)\
91 (memcpy(&elem, CONST_PTR_OFFSET(*(array)->v, _foreach_offset), sizeof(elem)), TRUE) \
93 _foreach_offset += sizeof(elem) \
97 # define array_foreach(array, elem) \
98 for (elem = *(array)->v; \
99 elem != CONST_PTR_OFFSET(*(array)->v, (array)->arr.buffer->used); \
100 (elem)++)
101 # define array_foreach_modifiable(array, elem) \
102 for (elem = ARRAY_TYPE_CAST_MODIFIABLE(array) \
104 elem != CONST_PTR_OFFSET(*(array)->v, (array)->arr.buffer->used); \
105 (elem)++)
108 #define array_ptr_to_idx(array, elem) \
109 ((elem) - (array)->v[0])
110 #define array_foreach_idx(array, elem) \
111 array_ptr_to_idx(array, elem)
372 /* Returns pointer to first element for which cmp(key,elem)==0, or NULL */