On 08/28/2018 09:00 PM, Jonathan Wakely wrote:
On 25/08/18 22:44 +0200, François Dumont wrote:
The last optimizations that get disabled when Debug mode is enable are the algo specializations for std::deque iterators.

This patch move those algos in std namespace as they should even when Debug mode is enable so that they get considered even when calls are made with the namespace qualification. And it adds all the algos Debug implementations which forward to normal implementations to benefit from optimizations.

Please add a ChangeLog to the patch.



    * include/bits/stl_deque.h
    (fill, copy, copy_backward, move, move_backward): Move overloads for
    std::deque iterators directly in std namespace.
    * include/bits/deque.tcc: Likewise.
    * include/debug/deque (fill, copy, copy_backward, move, move_backward):
    New overloads for std::__debug::deque iterators. Forward to normal and
    optimized implementations after proper debug checks.
    * testsuite/23_containers/deque/copy.cc: New.
    * testsuite/23_containers/deque/copy_backward.cc: New.
    * testsuite/23_containers/deque/fill.cc: New.
    * testsuite/23_containers/deque/move.cc: New.
    * testsuite/23_containers/deque/move_backward.cc: New.

Ok to commit ?

François

Reply via email to