P99
|
◆ P99_LIFO_CLEAR
Value:
({ \
register const P99_MACRO_VAR(p00_l, (L)); \
P99_TP_TYPE_STATE(p00_l) p00_state = P99_TP_STATE_INITIALIZER(p00_l, 0); \
/* be sure that the result can not be used as an lvalue */ \
register P99_TP_TYPE(p00_l)* p00_r = P99_TP_STATE_GET(&p00_state); \
for (; p00_r; p00_r = P99_TP_STATE_GET(&p00_state)) { \
if (P99_TP_STATE_COMMIT(&p00_state)) \
break; \
} \
p00_r; \
})
Atomically clear an atomic LIFO L and return a pointer to the start of the list that it previously contained.
Definition at line 161 of file p99_lifo.h. |