Go to the source code of this file.
◆ sparse_vec_elt_at_index
◆ sparse_vec_free
#define sparse_vec_free |
( |
|
v | ) |
vec_free(v) |
◆ SPARSE_VEC_INVALID_INDEX
#define SPARSE_VEC_INVALID_INDEX (0) |
◆ SPARSE_VEC_IS_RANGE
#define SPARSE_VEC_IS_RANGE (1 << 0) |
◆ SPARSE_VEC_IS_VALID_RANGE
#define SPARSE_VEC_IS_VALID_RANGE (1 << 1) |
◆ sparse_vec_validate
#define sparse_vec_validate |
( |
|
v, |
|
|
|
i |
|
) |
| |
Value:({ \
uword _i; \
u32 _insert; \
\
if (! (v)) \
\
0, \
&_insert); \
if (_insert) \
vec_insert_ha ((v), 1, _i, \
0); \
\
\
ASSERT (_i > 0); \
\
(v) + _i; \
})
sll srl srl sll sra u16x4 i
static uword sparse_vec_index_internal(void *v, uword sparse_index, uword maybe_range, u32 *insert)
static void * sparse_vec_new(uword elt_bytes, uword sparse_index_bits)
Definition at line 231 of file sparse_vec.h.
◆ sparse_vec_header()
◆ sparse_vec_index()
static uword sparse_vec_index |
( |
void * |
v, |
|
|
uword |
sparse_index |
|
) |
| |
|
inlinestatic |
◆ sparse_vec_index2()
static void sparse_vec_index2 |
( |
void * |
v, |
|
|
u32 |
si0, |
|
|
u32 |
si1, |
|
|
u32 * |
i0_return, |
|
|
u32 * |
i1_return |
|
) |
| |
|
inlinestatic |
◆ sparse_vec_index_internal()
static uword sparse_vec_index_internal |
( |
void * |
v, |
|
|
uword |
sparse_index, |
|
|
uword |
maybe_range, |
|
|
u32 * |
insert |
|
) |
| |
|
inlinestatic |
◆ sparse_vec_new()
static void* sparse_vec_new |
( |
uword |
elt_bytes, |
|
|
uword |
sparse_index_bits |
|
) |
| |
|
inlinestatic |