Lines Matching refs:item
55 #define NLIB_Queue_QueryLinkPrev(item, link) ((item)->link.prev) argument
60 #define NLIB_Queue_QueryLinkNext(item, link) ((item)->link.next) argument
70 #define NLIB_Queue_IsEnd(queue, item) ((item) == NULL) argument
75 #define NLIB_Queue_EnqueueAfter(type, queue, previtem, item, link) \ argument
77 (item)->link.prev = (NLIBQueue*) (previtem); \
78 (item)->link.next = (previtem)->link.next; \
79 (previtem)->link.next = (NLIBQueue*) (item); \
80 if (NLIB_Queue_IsEnd(queue, (item)->link.next)) \
81 (queue)->prev = (NLIBQueue*) (item); \
83 ((type) (item)->link.next)->link.prev = (NLIBQueue*) (item); \
89 #define NLIB_Queue_EnqueueBefore(type, queue, item, afteritem, link) \ argument
91 (item)->link.prev = (afteritem)->link.prev; \
92 (item)->link.next = (NLIBQueue*) (afteritem); \
93 (afteritem)->link.prev = (NLIBQueue*) (item); \
94 if (NLIB_Queue_IsEnd(queue, (item)->link.prev)) \
95 (queue)->next = (NLIBQueue*) (item); \
97 ((type) (item)->link.prev)->link.next = (NLIBQueue*) (item); \
103 #define NLIB_Queue_EnqueueTail(type, queue, item, link) \ argument
109 (queue)->next = (NLIBQueue*) (item); \
111 ((type) ___prev)->link.next = (NLIBQueue*) (item); \
112 (item)->link.prev = ___prev; \
113 (item)->link.next = NULL; \
114 (queue)->prev = (NLIBQueue*) item; \
120 #define NLIB_Queue_EnqueueHead(type, queue, item, link) \ argument
126 (queue)->prev = (NLIBQueue*) (item); \
128 ((type) ___next)->link.prev = (NLIBQueue*) (item); \
129 (item)->link.next = ___next; \
130 (item)->link.prev = NULL; \
131 (queue)->next = (NLIBQueue*) item; \
137 #define NLIB_Queue_DequeueItem(type, queue, item, link) \ argument
142 ___next = (item)->link.next; \
143 ___prev = (item)->link.prev; \
160 #define NLIB_Queue_DequeueHead(type, queue, item, link) \ argument
164 (item) = (type) NLIB_Queue_QueryHead(queue); \
165 ___next = (item)->link.next; \
178 #define NLIB_Queue_DequeueTail(type, queue, item, link) \ argument
182 (item) = (type) NLIB_Queue_QueryTail(queue); \
183 ___prev = (item)->link.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); \
199 (item) = (next), \
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); \
209 (item) = (prev), \
210 … (prev) = NLIB_Queue_IsEnd(queue, item) ? NULL : (type) NLIB_Queue_QueryLinkPrev(item, link))