From: Matt Turner Date: Tue, 21 Jan 2020 22:48:04 +0000 (-0800) Subject: util: Explain BITSET_FOREACH_SET params X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=d3eb2a0951ede3c7dcce891c3a153f3ebbb59bae;p=mesa.git util: Explain BITSET_FOREACH_SET params __size, in particular, makes this macro rather confusing to understand how to use. Hopefully this comment saves future users the headache. Reviewed-by: Jason Ekstrand Part-of: --- diff --git a/src/util/bitset.h b/src/util/bitset.h index 7f116214b92..f58d9f214e6 100644 --- a/src/util/bitset.h +++ b/src/util/bitset.h @@ -129,6 +129,14 @@ __bitset_next_set(unsigned i, BITSET_WORD *tmp, return word * BITSET_WORDBITS + bit; } +/** + * Iterates over each set bit in a set + * + * @param __i iteration variable, bit number + * @param __tmp an internally-used temporary bitset + * @param __set the bitset to iterate (will not be modified) + * @param __size number of bits in the set to consider + */ #define BITSET_FOREACH_SET(__i, __tmp, __set, __size) \ for (__tmp = *(__set), __i = 0; \ (__i = __bitset_next_set(__i, &__tmp, __set, __size)) < __size;)