[PATCH] PR libstdc++/91620 Implement DR 526 for std::[forward_]list::remove_if/unique

François Dumont frs.dumont@gmail.com
Tue Mar 3 05:42:00 GMT 2020


Hi

     Isn't it something to fix before gcc 10 release ?

François

On 12/27/19 11:57 AM, François Dumont wrote:
> Here is the patch to extend DR 526 to forward_list and list remove_if 
> and unique.
>
> As the adopted pattern is simpler I also applied it to the remove 
> methods.
>
>     PR libstdc++/91620
>     * include/bits/forward_list.tcc (forward_list<>::remove): Collect 
> nodes
>     to destroy in an intermediate forward_list.
>     (forward_list<>::remove_if, forward_list<>::unique): Likewise.
>     * include/bits/list.tcc (list<>::remove, list<>::unique): Likewise.
>     (list<>::remove_if): Likewise.
>     * include/debug/forward_list (forward_list<>::_M_erase_after): 
> Remove.
>     (forward_list<>::erase_after): Adapt.
>     (forward_list<>::remove, forward_list<>::remove_if): Collect nodes to
>     destroy in an intermediate forward_list.
>     (forward_list<>::unique): Likewise.
>     * include/debug/list (list<>::remove, list<>::unique): Likewise.
>     (list<>::remove_if): Likewise.
>
> Tested under Linux x86_64 normal and debug modes.
>
> Ok to commit ?
>
> François
>



More information about the Libstdc++ mailing list