| 366 | |
| 367 | template <class C, class L> |
| 368 | inline void |
| 369 | DLL<C, L>::remove(C *e) |
| 370 | { |
| 371 | if (!head) { |
| 372 | return; |
| 373 | } |
| 374 | if (e == head) { |
| 375 | head = next(e); |
| 376 | } |
| 377 | if (prev(e)) { |
| 378 | next(prev(e)) = next(e); |
| 379 | } |
| 380 | if (next(e)) { |
| 381 | prev(next(e)) = prev(e); |
| 382 | } |
| 383 | prev(e) = nullptr; |
| 384 | next(e) = nullptr; |
| 385 | } |
| 386 | |
| 387 | template <class C, class L> |
| 388 | inline C * |
no test coverage detected