From 43b5d0ec65ecf06bc28c4ba90bd75aaa16d4169b Mon Sep 17 00:00:00 2001 From: Tyge Løvset Date: Thu, 22 Sep 2022 07:28:20 +0200 Subject: Renamed c_forfiltered() back to c_forfilter(), and iter member .count => .taken --- include/stc/ccommon.h | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) (limited to 'include') diff --git a/include/stc/ccommon.h b/include/stc/ccommon.h index 64c39da0..0bf371fc 100644 --- a/include/stc/ccommon.h +++ b/include/stc/ccommon.h @@ -162,15 +162,15 @@ STC_INLINE char* c_strnstrn(const char *s, const char *needle, for (C##_iter it = start, *_endref = (C##_iter*)(finish).ref \ ; it.ref != (C##_value*)_endref; C##_next(&it)) -#define c_forfiltered(...) c_MACRO_OVERLOAD(c_forfiltered, __VA_ARGS__) -#define c_forfiltered4(it, C, cnt, filter) \ - c_forloop(it, C, cnt, true) if (!(filter)) ; else -#define c_forfiltered5(it, C, cnt, filter, cond) \ - c_forloop(it, C, cnt, cond) if (!((filter) && ++it.count)) ; else +#define c_forfilter(...) c_MACRO_OVERLOAD(c_forfilter, __VA_ARGS__) +#define c_forfilter4(it, C, cnt, filter) \ + c_forfilter5(it, C, cnt, filter, true) +#define c_forfilter5(it, C, cnt, filter, cond) \ + c_forloop(it, C, cnt, cond) if (!((filter) && ++it.taken)) ; else #define c_forloop(i, C, cnt, cond) \ - for (struct {C##_iter it; const C##_value *ref; size_t idx, count;} \ - i = {.it=C##_begin(&cnt), .ref=i.it.ref, .idx=0, .count=0} \ + for (struct {C##_iter it; const C##_value *ref; size_t idx, taken;} \ + i = {.it=C##_begin(&cnt), .ref=i.it.ref, .idx=0, .taken=0} \ ; i.ref && (cond); C##_next(&i.it), i.ref = i.it.ref, ++i.idx) #define c_forpair(key, val, C, cnt) /* structured binding */ \ -- cgit v1.2.3