util: Explain BITSET_FOREACH_SET params
authorMatt Turner <mattst88@gmail.com>
Tue, 21 Jan 2020 22:48:04 +0000 (14:48 -0800)
committerMarge Bot <eric+marge@anholt.net>
Thu, 23 Jan 2020 01:52:42 +0000 (01:52 +0000)
__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 <jason@jlekstrand.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3499>

src/util/bitset.h

index 7f116214b920c0b8431e76f8093d8829428dc80c..f58d9f214e647c98ecb3f8752212c50fe6dda08b 100644 (file)
@@ -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;)