spa: add macro to simplify array iterations some more

uint32_t i;
	for (i = 0; i < SPA_N_ELEMENTS(some_array); i++)
		.. stuff with some_array[i].foo ...

   becomes:

	SPA_FOR_EACH_ELEMENT_VAR(some_array, p)
		.. stuff with p->foo ..
This commit is contained in:
Wim Taymans 2022-09-30 16:21:28 +02:00
parent 365ebcda9b
commit d22feab92a
21 changed files with 113 additions and 150 deletions

View file

@ -184,9 +184,8 @@ PWTEST(utils_macros)
#define check_traversal(array_) \
{ \
__typeof__(array_[0]) *it; \
int count = 0; \
SPA_FOR_EACH_ELEMENT(array_, it) \
SPA_FOR_EACH_ELEMENT_VAR(array_, it) \
*it = count++; \
for (size_t i = 0; i < SPA_N_ELEMENTS(array_); i++) \
pwtest_int_eq(array_[i], i); \