Здравствуйте, rg45, Вы писали:
R>Ну я уже запал на вариант с фабрикой
Тут натолкнулся
на проблему с подходом со враппером и не char-строками. Не могу понять что fmt не нравится и почему не находится перегрузка. Толи c wrapper-ом что-то не то, толи ещё что-то. Кстати с wrapper-ом точно что-то не то, т.к. T&& у wrapper(T&& t) не является универсальной ссылкой. Наверное должно быть так:
template<typename U>
explicit wrapper(U&& t) : t(std::forward<U>(t)) {}
Еще есть вариант что библиотека fmt обрабатывает стандартные типы внутри себя, без использования fmt::formatters, и из-за этого вся последовательность логики ломается.