Erase — clears occupied bit, iterator stable
| 338 | |
| 339 | // Erase — clears occupied bit, iterator stable |
| 340 | iterator erase(iterator pos) FL_NOEXCEPT { |
| 341 | if (pos.mMap != this || pos.mIdx >= mData.size()) return end(); |
| 342 | if (!mOccupied.test(pos.mIdx)) return end(); // already erased |
| 343 | mOccupied.reset(pos.mIdx); |
| 344 | --mSize; |
| 345 | // Advance to next occupied slot |
| 346 | iterator next(this, pos.mIdx + 1); |
| 347 | return next; |
| 348 | } |
| 349 | |
| 350 | iterator erase(const_iterator pos) FL_NOEXCEPT { |
| 351 | iterator it(this, pos.mIdx); |