Bug 6957 – std.array.removeSlice

Status
NEW
Severity
enhancement
Priority
P4
Component
phobos
Product
D
Version
D2
Platform
All
OS
All
Creation time
2011-11-15T16:55:49Z
Last change time
2024-12-01T16:14:40Z
Keywords
bootcamp
Assigned to
No Owner
Creator
bearophile_hugs
Moved to GitHub: phobos#9917 →

Comments

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
THIS ISSUE HAS BEEN MOVED TO GITHUB https://github.com/dlang/phobos/issues/9917 DO NOT COMMENT HERE ANYMORE, NOBODY WILL SEE IT, THIS ISSUE HAS BEEN MOVED TO GITHUB