template<typename T>struct deleter{void operator()(T *p){delete p;}};
const iterator mid = partition(v.begin(), v.end(), /* まだ必要 */);
for_each(mid, v.end(), deleter<void>());
v.erase(mid, v.end());