Не добавлять std::shift_left и std::shift_right, а добавить std::move_n и std::move_backward_n

Олег Фатхиев
Олег Фатхиев

Как известно, у многих алгоритмов в c++ есть версии с суфиксом "_n", которые означают, что в качестве индикации прекращения выполнения нужно руководствоваться количеством действий, а не итератором, до которого эти действия выполнять. В с++20 собираются ввести функции std::shift_left и std::shift_right. Само их наличие обосновано и, если бы эти функции существовали уже давно, не было бы никаких претенция. Но, как уже было сказано, есть функции с префиксом "_n". Предлагаю переименовать функции std::shift_left и std::shift_right в std::move_n и std::move_backward_n, которые бы имели такую же сигнатуру

0
рейтинг
2 комментария
AlexanderFadeev

С такими названиями будет происходить путаница с std::move

AlexanderFadeev
Саша Зайцев

Я против, так как из названия не понятно, что оно делает. А std::shift_куда сразу понятно, что мы будем делать.

И что-то мне вспоминается, что такой вариант предлагали уже в обсуждении в гуглогруппах.

Саша Зайцев
Другие идеи
Группа создана, чтобы собирать предложения к стандарту C++, организовывать их внутренние обсуждения, помогать готовить их для отправки в комитет и защищать на общих собраниях в рабочей группе по С++ Международной организации по стандартизации (ISO).
Все предложения