Investigate the possibility to change iterator tag checks for is_base_of semantics
include/oneapi/dpl/pstl/utils.h file - struct next_to_last
test/parallel_api/algorithm/alg.modifying.operations/shift_left_right.pass.cpp file - struct shift_right_algo
Usage of is_base_of instead of is_same in shift_left_right.pass.cpp file - yes, it makes sense.
Regarding struct next_to_last - I don't see a sense, due to we have got no code reduction....
Usage of
is_base_ofinstead ofis_samein shift_left_right.pass.cpp file - yes, it makes sense. Regardingstruct next_to_last- I don't see a sense, due to we have got no code reduction....
It's not about code reduction. It's a performance bug for C++20
Threre are other places in the host backend which should be considered, e.g. https://github.com/oneapi-src/oneDPL/pull/395#discussion_r737243526
Implemented here https://github.com/oneapi-src/oneDPL/pull/376