digitalmars.D.bugs - [Issue 6957] New: std.array.removeSlice
- d-bugmail puremagic.com (31/31) Nov 15 2011 http://d.puremagic.com/issues/show_bug.cgi?id=6957
http://d.puremagic.com/issues/show_bug.cgi?id=6957
Summary: std.array.removeSlice
Product: D
Version: D2
Platform: All
OS/Version: All
Status: NEW
Severity: enhancement
Priority: P2
Component: Phobos
AssignedTo: nobody puremagic.com
ReportedBy: bearophile_hugs eml.cc
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).
--
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Nov 15 2011








d-bugmail puremagic.com