Библиотека форматирования marty::format
От: Marty Пират https://www.youtube.com/channel/UChp5PpQ6T4-93HbNF-8vSYg
Дата: 12.04.25 21:05
Оценка: 4 (1) :)
Здравствуйте!

В форум "Исходники" не пощу, потому что интересно получить пинков именно по моему "C++"

Надо же как-то расти

Да ну и просто в профильном очень мало постов, по сравнению с политиками

Ну и по доке тоже пинки приветствуются

Библиотека предназначена для встройки в кастомную динамику, поэтому я не задрачивался на всякие новые фишки плюсов — constexpr/constinit/consteval

Одна из базовых фич — совмещение форматной строки С++20 std::format и форматных строк питона — можно использовать без модификации и то и другое.

Но либу можно и из плюсиков нативно использовать, передавая аргументы через std::initializer_list{...}

Возможности библиотеки

  1. Добавление возможностей C++ std::format из C++20 в C++17 (бэкпорт новых фич в старый стандарт).
  2. Совместимость форматной строки с форматной строкой языков Python и C++. Некоторые возможности этих языков игнорируются, но не вызывают ошибки при разборе форматной строки. В библиотеке совмещены возможности форматирования из языка `Python` и возможности форматирования `C++20` `std::format`.
  3. Поддержка именованных аргументов для C++ при использовании соответствующих контейнеров для аргументов.
  4. Поддержка передачи аргументов через std::initializer_list для непосредственного использования из C++.
  5. Упор на использование библиотеки в своих скриптовых языках/DSL языках.
  6. Поддержка Unicode в кодировке UTF-8.
  7. Поддержка чисел с плавающей точкой произвольной размерности marty::Decimal.
  8. Поддержка пользовательских типов строк вместо std::string и поддержка микроконтроллеров (STM32, как пример). Пока не реализовано, но весьма ready, требует отключения части кода условными макросами, также требуется модифицировать некоторые части, пока завязанные на std::string.
  9. Возможность создания собственной системы/библиотеки форматирования на базе данной библиотеки с поддержкой вывода собственных произвольных типов данных.

Собственно, форматирование по всем правилам форматной строки пока не реализовано, оно будет делаться по мере необходимости, и после того, как я решу, как быть с некоторыми проблемами — например, как быть, если спецификатор типа в форматной строке никак не соответствует фактическому параметру.

Пока всё обрабатывается без ошибок через вставку текста при помощи обёрток над std::to_string.

В общем, пинайте на здоровие — https://github.com/al-martyn1/marty_format
Маньяк Робокряк колесит по городу
Отредактировано 12.04.2025 21:18 Marty . Предыдущая версия . Еще …
Отредактировано 12.04.2025 21:11 Marty . Предыдущая версия .
Отредактировано 12.04.2025 21:10 Marty . Предыдущая версия .
Отредактировано 12.04.2025 21:07 Marty . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.