Comment #0 by bearophile_hugs — 2011-11-15T16:55:49Z
This is a spin off of bug 6849.
I suggest to introduce a function std.array.removeSlice (or a similar name).
It is similar to std.algorithm.remove, with some differences:
- It works on dynamic arrays.
- It works in-place, so unlike remove it changes the array "topology".
- it removes a slice, instead one or more indexes (but it's good to have an overload that remove a single item).
Why it's useful:
- Removing items from dynamic arrays is a common operation.
- The semantics of std.algorithm.remove (that leaves the input array in a wrong state) is bug prone and surprising for programmers coming from Python and other languages.
- Removing whole slices is handy and can't be done with a single line of code because D slice assignments don't support overlapping slices (they use memcpy instead of memmove).
Comment #1 by robert.schadek — 2024-12-01T16:14:40Z