Go to the source code of this file.
|
always_inline uword | clib_bitmap_is_zero (uword *ai) |
|
always_inline uword | clib_bitmap_is_equal (uword *a, uword *b) |
|
always_inline uword | clib_bitmap_set_no_check (uword *a, uword i, uword new_value) |
|
always_inline uword * | clib_bitmap_set (uword *ai, uword i, uword value) |
|
always_inline uword | clib_bitmap_get (uword *ai, uword i) |
|
always_inline uword | clib_bitmap_get_no_check (uword *ai, uword i) |
|
always_inline uword | clib_bitmap_get_multiple_no_check (uword *ai, uword i, uword n_bits) |
|
always_inline uword | clib_bitmap_get_multiple (uword *bitmap, uword i, uword n_bits) |
|
always_inline uword * | clib_bitmap_set_multiple (uword *bitmap, uword i, uword value, uword n_bits) |
|
always_inline uword * | clib_bitmap_set_region (uword *bitmap, uword i, uword value, uword n_bits) |
|
always_inline uword | clib_bitmap_first_set (uword *ai) |
|
always_inline uword | clib_bitmap_first_clear (uword *ai) |
|
always_inline uword | clib_bitmap_count_set_bits (uword *ai) |
|
always_inline uword * | clib_bitmap_random (uword *ai, uword n_bits, u32 *seed) |
|
always_inline uword | clib_bitmap_next_set (uword *ai, uword i) |
|
always_inline uword | clib_bitmap_next_clear (uword *ai, uword i) |
|
static uword | unformat_bitmap_list (unformat_input_t *input, va_list *va) |
|
static u8 * | format_bitmap_hex (u8 *s, va_list *args) |
|
#define clib_bitmap_dup |
( |
|
v | ) |
vec_dup(v) |
#define clib_bitmap_foreach |
( |
|
i, |
|
|
|
ai, |
|
|
|
body |
|
) |
| |
Value: uword __bitmap_i, __bitmap_ai, __bitmap_len, __bitmap_first_set; \
for (__bitmap_i = 0; __bitmap_i < __bitmap_len; __bitmap_i++) \
{ \
__bitmap_ai = (ai)[__bitmap_i]; \
while (__bitmap_ai != 0) \
{ \
__bitmap_first_set =
first_set (__bitmap_ai); \
(
i) = (__bitmap_i *
BITS ((ai)[0]) \
do { body; } while (0); \
__bitmap_ai ^= __bitmap_first_set; \
} \
} \
} while (0)
sll srl srl sll sra u16x4 i
always_inline uword first_set(uword x)
#define vec_len(v)
Number of elements in vector (rvalue-only, NULL tolerant)
always_inline uword min_log2(uword x)
Definition at line 308 of file bitmap.h.
#define clib_bitmap_free |
( |
|
v | ) |
vec_free(v) |
#define clib_bitmap_zero |
( |
|
v | ) |
vec_zero(v) |
static u8* format_bitmap_hex |
( |
u8 * |
s, |
|
|
va_list * |
args |
|
) |
| |
|
inlinestatic |