C++98 compatible iterator erase