| 1548 | public: |
| 1549 | template <class twod_iter> |
| 1550 | bool erase_ne(allocator_type &alloc, twod_iter &it) |
| 1551 | { |
| 1552 | assert(_group && it.col_current != ne_end()); |
| 1553 | size_type offset = (size_type)(it.col_current - ne_begin()); |
| 1554 | size_type pos = offset_to_pos(offset); |
| 1555 | |
| 1556 | if (_num_items() <= 1) |
| 1557 | { |
| 1558 | clear(alloc, false); |
| 1559 | it.col_current = 0; |
| 1560 | } |
| 1561 | else |
| 1562 | { |
| 1563 | _group_erase(alloc, offset); |
| 1564 | _decr_num_items(); |
| 1565 | _bmclear(pos); |
| 1566 | |
| 1567 | // in case _group_erase reallocated the buffer |
| 1568 | it.col_current = reinterpret_cast<pointer>(_group) + offset; |
| 1569 | } |
| 1570 | _bme_set(pos); // remember that this position has been erased |
| 1571 | it.advance_past_end(); |
| 1572 | return true; |
| 1573 | } |
| 1574 | |
| 1575 | |
| 1576 | // This takes the specified elements out of the group. This is |
no test coverage detected