MCPcopy Create free account
hub / github.com/cameron314/concurrentqueue / dequeue

Method dequeue

benchmarks/dlib/queue/queue_kernel_1.h:265–292  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

263 typename mem_manager
264 >
265 void queue_kernel_1<T,mem_manager>::
266 dequeue (
267 T& item
268 )
269 {
270 // swap out into item
271 exchange(item,out->item);
272
273 --queue_size;
274
275 if (queue_size == 0)
276 {
277 delete out;
278 }
279 else
280 {
281 node* temp = out;
282
283 // move out pointer to the next element in the queue
284 out = out->last;
285
286 // delete old node
287 delete temp;
288 }
289
290 // put the enumerator at the start
291 reset();
292 }
293
294// ----------------------------------------------------------------------------------------
295

Callers

nothing calls this directly

Calls 1

exchangeFunction · 0.85

Tested by

no test coverage detected