On 2010-05-26 11:13:38 -0400, Andrei Alexandrescu <[email protected]> said:

On 05/26/2010 09:37 AM, Michel Fortin wrote:

insertAtRandomPlace(myContainer.soft, element);

Now you know insertAtRandom won't and *can't* invalidate your
iterators/ranges, and you don't need to write a separate
"softInsertAtRandom" that only calls soft functions.

Initially I thought containers that naturally support soft (well, "stable" since 5 minutes ago) operations would simply alias the non-stable versions and the stable versions to the same call.

But now you got me thinking that a container might want to take advantage of both to implement slightly different approaches. I haven't met such a container yet, but that doesn't mean they aren't possible.

While it's true that a container could implement a different approach for stable and unstable operations, I was more concerned with the need to guaranty that only stable operations are performed when passing the container to other functions, hence the need for a "soft" (now "stable") container wrapper.


--
Michel Fortin
[email protected]
http://michelf.com/

Reply via email to