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