[patch] : Add move symantics to more of libstdc++

Paolo Carlini pcarlini@suse.de
Mon May 16 18:07:00 GMT 2005


chris jefferson wrote:

> This patch makes remove, remove_if, rotate and the heap functions move
> aware. It also tidies up some swaps to iter_swap, and adds a test case
> or two and a couple of testcases fixes. Has been carefully designed so
> that it will have no effect on the performance of non move-aware types
> (in particular the built in types).
>
> This patch does do a number of small things at the same time, if you'd
> like it splitting into patches which each only do one thing, I'll do that.

I think it's rather understandable as-is, thanks. I'm going to look into
it, regtest again on my side, and so on. I'll let you know how it goes
and in case everything is ok, we can go ahead, as usual.

Two quick comments:
1- ALISING should be intended as ALIASING, right?
2- I have a rough list of algorithms which can internally exploit
efficient moves (courtesy of Howard Hinnant ;). I would guess the same
is true for our simulated move-semantics, as far as containers of
containers are concerned:
- remove
- unique (done!)
- rotate (done!)
- sort
- stable-sort
- heap-sort
- partition (done!)

Comments?

Thanks,
Paolo.



More information about the Libstdc++ mailing list