26 lines
1.5 KiB
C
26 lines
1.5 KiB
C
|
|
#if 0
|
|
Bool name##_count(name *a, const type item, uint64_t *out) { \
|
|
uint64_t count = 0, idx; \
|
|
if (!a || !out || !Lock_lock(&a->lock)) \
|
|
return False; \
|
|
for (idx = 0; idx < a->size; ++idx) \
|
|
if (a->items[idx] == item) \
|
|
++count; \
|
|
*out = count; \
|
|
return Lock_unlock(&a->lock); \
|
|
} \
|
|
Bool name##_index(name *a, const type item, uint64_t *out) { \
|
|
uint64_t idx; \
|
|
if (!a || !out || !Lock_lock(&a->lock)) \
|
|
return False; \
|
|
for (idx = 0; idx < a->size; ++idx) \
|
|
if (a->items[idx] == item) { \
|
|
*out = idx; \
|
|
return Lock_unlock(&a->lock); \
|
|
} \
|
|
Lock_unlock(&a->lock); \
|
|
return False; \
|
|
} \
|
|
#endif
|
|
|