Учитывая последовательность (например, строку "Xa"), я хочу получить следующий префикс в лексикографическом порядке (то есть "Xb"). Следующий из "aZ" должен быть "b"
Мотивирующий случай использования, где эта функция полезна, описан здесь .
Поскольку я не хочу изобретать велосипед, мне интересно, есть ли какая-либо функция в C ++ STL или boost, которая может помочь легко определить эту универсальную функцию?
Если нет, то думаете ли вы, что эта функция может быть полезна?
Примечания
- Даже если примеры являются строками, функция должна работать для любой последовательности.
- Лексикографический порядок должен быть параметром шаблона функции.
Из ответов я делаю вывод, что в C ++ / Boost нет ничего, что могло бы помочь легко определить эту универсальную функцию, а также что эта функция слишком специфична, чтобы предлагать ее бесплатно. Я реализую универсальный next_prefix, и после этого я буду запрашивать, считаете ли вы его полезным.
Я принял единственный ответ, который дает некоторые советы о том, как это сделать, даже если предлагаемая реализация не является общей.