| 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 |
nothing calls this directly
no test coverage detected