1#ifndef c89atomic_deque_c
2#define c89atomic_deque_c
15 c89atomic_uint32 tail;
16 c89atomic_uint32 head;
22 return C89ATOMIC_DEQUE_OUT_OF_MEMORY;
29 return C89ATOMIC_DEQUE_SUCCESS;
34 c89atomic_uint32 tail;
35 c89atomic_uint32 head;
44
45
46
47
48
49
50
51
52
53
54 if ((c89atomic_int32)head <= (c89atomic_int32)tail) {
64
65
66
67
72 return C89ATOMIC_DEQUE_NO_DATA_AVAILABLE;
77 return C89ATOMIC_DEQUE_SUCCESS;
81 return C89ATOMIC_DEQUE_NO_DATA_AVAILABLE;
87 c89atomic_uint32 head;
88 c89atomic_uint32 tail;
94 if ((c89atomic_int32)head < (c89atomic_int32)tail) {
99 return C89ATOMIC_DEQUE_CANCELLED;
103 return C89ATOMIC_DEQUE_SUCCESS;
105 return C89ATOMIC_DEQUE_NO_DATA_AVAILABLE;
#define c89atomic_memory_order_release
#define c89atomic_memory_order_seq_cst
#define c89atomic_memory_order_acquire
#define c89atomic_memory_order_relaxed
#define C89ATOMIC_DEQUE_T
#define C89ATOMIC_DEQUE_CAP
#define C89ATOMIC_DEQUE_API