1 #ifndef __LOCKFREESKIP_H__
2 #define __LOCKFREESKIP_H__
9 #ifdef __SET_IMPLEMENTATION__
20 #define INVALID_FIELD (0)
21 #define SENTINEL_KEYMIN ( 1UL)
22 #define SENTINEL_KEYMAX (~0UL)
29 #define CALLER_TO_INTERNAL_KEY(_k) ((_k) + 2)
39 #define READ_FIELD(_x,_f) \
42 if ( (_x) == INVALID_FIELD ) { RMB(); (_x) = (_f); } \
43 assert((_x) != INVALID_FIELD); \
49 #define READ_FIELD(_x,_f) ((_x) = (_f))
67 #define KEY_MAX ((~0U) - 3)
boost_skip * boostskip_alloc(void)
Definition: lockfreeskip.c:255
void init_boostskip_subsystem(void)
Definition: lockfreeskip.c:482
void * setval_t
Definition: lockfreeskip.h:6
setval_t set_update(boost_skip *s, setkey_t k, setval_t v, int overwrite)
Definition: lockfreeskip.c:286
unsigned long setkey_t
Definition: lockfreeskip.h:5
Definition: lockfreeskip.c:51
void boostskip_print(boost_skip *s)
Definition: lockfreeskip.c:500
void destroy_boostskip_subsystem(void)
Definition: lockfreeskip.c:495
void boost_skip
Definition: lockfreeskip.h:69
setval_t set_lookup(boost_skip *s, setkey_t k)
Definition: lockfreeskip.c:465
setval_t set_remove(boost_skip *s, setkey_t k)
Definition: lockfreeskip.c:407