On Saturday, 6 October 2012 at 21:39:29 UTC, cal wrote:
I'd like to remove a single element from a std.container.DList. For that I need a range, but I'm not sure how to get a single element 'range'.

I thought something like this might work:

auto list = DList!int([1,2,3,4]);
auto r = list[];
while(r.front != 3)
   r.popFront;

list.remove(r.take(1));

But the the range returned by r.take(1) is not valid as an argument to DList.remove. What is the correct way to do this?

One solution:
list.linearRemove(list[].find(3).takeOne);

Reply via email to