Как написать собственный форматировщик на месте из лямбды?C++

Программы на C++. Форум разработчиков
Anonymous
 Как написать собственный форматировщик на месте из лямбды?

Сообщение Anonymous »

Мне не нравится существующий API fmtlib (и его стандартный вариант), позволяющий настраивать средства форматирования для разных типов:
  • Я ожидал более традиционного подхода с предоставлением лямбды на месте.
  • Для типа может быть только одна специализация шаблона.
  • Специализации могут быть не может быть объявлен где-либо, кроме своего собственного пространства имен (невозможно специализировать std::formatter внутри пространства имен foo)
  • Невозможно специализировать локальные или безымянные типы.
  • fmtlib не предоставляет возможности форматировать каждый элемент в контейнере (fmt::join может устанавливать только разделитель). Было бы очень неудобно форматировать фундаментальные и стандартные типы.
Мне бы хотелось иметь что-то вроде следующего:
int main() {
struct {} john_cena;
// std::cout

Подробнее здесь: https://stackoverflow.com/questions/790 ... rom-lambda

Вернуться в «C++»