icl_node_t * icl_deque_append(icl_deque_t *deque, void *data)
Insert the node at the end of the deque.
icl_deque_t * icl_deque_new()
deque constructor
int icl_deque_size(icl_deque_t *deque)
Return the deque size.
icl_node_t * icl_deque_next(icl_deque_t *deque, icl_node_t *node)
Get the next node in the deque.
icl_node_t * icl_deque_first(icl_deque_t *deque)
Get the first node in the deque.
dependency free linked list
int icl_deque_destroy(icl_deque_t *deque, void(*free_func)(void *))
deque destructor
int icl_deque_delete(icl_deque_t *deque, icl_node_t *node, void(*free_func)(void *))
Delete the node from the deque.
pthread_spinlock_t spinlock
struct icl_deque_s icl_deque_t
icl_node_t * icl_deque_prepend(icl_deque_t *deque, void *data)
Insert the node at the front of the deque.