container stuff

Jonathan M Davis jmdavisProg at gmail.com
Wed May 26 18:30:25 PDT 2010


Andrei Alexandrescu wrote:

> On 05/26/2010 06:07 PM, Jonathan M Davis wrote:
>> Looks interesting overall. There is one function, however, which makes no
>> sense to me: removeElement()/stableRemoveElement().
>>
>> So, it basically removes a random element from the container? It could be
>> quite consistent as to which element it removes from the container (it
>> being implementation-dependent), but effectively, it removes a random
>> element? What's the point of that? I can't remember the last time - if
>> ever - that I wanted to remove an element from a container and I didn't
>> care which. Or am I misunderstanding what it does?
>>
>> - Jonathan M Davis
> 
> If the container is a worklist with items to work on, it sometimes
> doesn't matter in which order you extract them.
> 
> Andrei

Well, my first reaction would be that that would be needed rarely enough 
that there's no point in putting it in the API. You could just use 
removeFront() or removeBack(), or you could grab a random element from the 
container and remove that. But maybe there are container types where it 
really makes sense, and having it in the API could be useful. Still, it 
strikes me as a really weird function to have. Of course, if you really 
think that it's going to be useful, leave it in. Unlike pretty much all the 
others though, it's not one I ever expect to use.

- Jonathan M Davis


More information about the Digitalmars-d mailing list