Lines Matching refs:queue

40 #define NLIB_Queue_Init(queue)          ((queue)->next = (queue)->prev = NULL)  argument
45 #define NLIB_Queue_QueryHead(queue) ((queue)->next) argument
50 #define NLIB_Queue_QueryTail(queue) ((queue)->prev) argument
65 #define NLIB_Queue_IsEmpty(queue) ((queue)->next == NULL) argument
70 #define NLIB_Queue_IsEnd(queue, item) ((item) == NULL) argument
75 #define NLIB_Queue_EnqueueAfter(type, queue, previtem, item, link) \ argument
80 if (NLIB_Queue_IsEnd(queue, (item)->link.next)) \
81 (queue)->prev = (NLIBQueue*) (item); \
89 #define NLIB_Queue_EnqueueBefore(type, queue, item, afteritem, link) \ argument
94 if (NLIB_Queue_IsEnd(queue, (item)->link.prev)) \
95 (queue)->next = (NLIBQueue*) (item); \
103 #define NLIB_Queue_EnqueueTail(type, queue, item, link) \ argument
107 ___prev = (queue)->prev; \
108 if (NLIB_Queue_IsEnd(queue, ___prev)) \
109 (queue)->next = (NLIBQueue*) (item); \
114 (queue)->prev = (NLIBQueue*) item; \
120 #define NLIB_Queue_EnqueueHead(type, queue, item, link) \ argument
124 ___next = (queue)->next; \
125 if (NLIB_Queue_IsEnd(queue, ___next)) \
126 (queue)->prev = (NLIBQueue*) (item); \
131 (queue)->next = (NLIBQueue*) item; \
137 #define NLIB_Queue_DequeueItem(type, queue, item, link) \ argument
145 if (NLIB_Queue_IsEnd(queue, ___next)) \
146 (queue)->prev = ___prev; \
150 if (NLIB_Queue_IsEnd(queue, ___prev)) \
151 (queue)->next = ___next; \
160 #define NLIB_Queue_DequeueHead(type, queue, item, link) \ argument
164 (item) = (type) NLIB_Queue_QueryHead(queue); \
167 if (NLIB_Queue_IsEnd(queue, ___next)) \
168 (queue)->prev = NULL; \
171 (queue)->next = ___next; \
178 #define NLIB_Queue_DequeueTail(type, queue, item, link) \ argument
182 (item) = (type) NLIB_Queue_QueryTail(queue); \
185 if (NLIB_Queue_IsEnd(queue, ___prev)) \
186 (queue)->next = NULL; \
189 (queue)->prev = ___prev; \
195 #define NLIB_Queue_IterateQueue(type, queue, item, next, link) \ argument
196 for ((item) = (type) NLIB_Queue_QueryHead(queue), \
197 … (next) = NLIB_Queue_IsEnd(queue, item) ? NULL : (type) NLIB_Queue_QueryLinkNext(item, link); \
198 !NLIB_Queue_IsEnd(queue, item); \
200 … (next) = NLIB_Queue_IsEnd(queue, item) ? NULL : (type) NLIB_Queue_QueryLinkNext(item, link))
205 #define NLIB_Queue_IterateQueueReverse(type, queue, item, prev, link) \ argument
206 for ((item) = (type) NLIB_Queue_QueryTail(queue), \
207 … (prev) = NLIB_Queue_IsEnd(queue, item) ? NULL : (type) NLIB_Queue_QueryLinkPrev(item, link); \
208 !NLIB_Queue_IsEnd(queue, item); \
210 … (prev) = NLIB_Queue_IsEnd(queue, item) ? NULL : (type) NLIB_Queue_QueryLinkPrev(item, link))