Return value {ret, last}, where [first, ret) is the resulting subrange after removal, and the elements in subrange [ret, last) are all in valid but unspecified state, i.e. [ret, last) is the subrange to be erased.[] ComplexitExactly N applications of the corresponding predicate and any projection, where N = ranges:: distance (first, last), and N -1 move operations at worst.