| 255 | } |
| 256 | |
| 257 | iterator erase(iterator pos) { |
| 258 | if (pos != end()) { |
| 259 | for (iterator it = pos; it != end() - 1; ++it) { |
| 260 | *it = std::move(*(it + 1)); |
| 261 | } |
| 262 | --size_; |
| 263 | data_[size_].~T(); |
| 264 | } |
| 265 | return pos; |
| 266 | } |
| 267 | |
| 268 | iterator erase(iterator first, iterator last) { |
| 269 | size_type count = last - first; |