Я видел некоторые специальные случаи, когда std::rotate можно было использовать или комбинацию с одним из алгоритмов поиска, но в целом: когда у одного есть вектор из N элементов и он хочет кодировать функцию, например:
void move( int from, int count, int to, std::vector<int>& numbers );
Я думал о создании нового вектора + std::copy или комбинации вставки/стирания, но не могу сказать, что у меня появилось какое-то приятное и элегантное решение.