C++ ranges are nice, but AFAIK they still "suffer" from the fact that they do not know to modify containers, e.g. if you use ranges::remove
you still need to do container.erase(...
Now there are algorithms that do know how to erase from containers (std::erase
, std::erase_if
) but unlike ranges they do not support projection.
My question if this is just because (AFAIK) that functionality was proposed separately from ranges(+ lack of time/lack of proposals), or is there fundamental reason why this functionality is not available.