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/