Re: Учёл пожелания
От: Marty Пират https://www.youtube.com/channel/UChp5PpQ6T4-93HbNF-8vSYg
Дата: 18.04.25 22:17
Оценка:
Здравствуйте, Marty, Вы писали:

Доделываю.

Учел пожелания — подсчет длины/ширины при выводе в текст вывел в отдельный параметр шаблона, в рантайм решил не выводить.

Фильтры — доделываю, фильтры могут быть как пользовательские, передаваемые как std::function как аргумент, а если не найден в аргументах, то используется шаблонная фабрика стандартных фильтров с такими фильтрами:
    MARTY_CPP_ENUM_CLASS_DESERIALIZE_ITEM( StdFilterType::htmlAttr   , "html-attr" );
    MARTY_CPP_ENUM_CLASS_DESERIALIZE_ITEM( StdFilterType::htmlAttr   , "html_attr" );
    MARTY_CPP_ENUM_CLASS_DESERIALIZE_ITEM( StdFilterType::htmlAttr   , "htmlattr"  );
    MARTY_CPP_ENUM_CLASS_DESERIALIZE_ITEM( StdFilterType::none       , "none"      );
    MARTY_CPP_ENUM_CLASS_DESERIALIZE_ITEM( StdFilterType::xml        , "xml"       );
    MARTY_CPP_ENUM_CLASS_DESERIALIZE_ITEM( StdFilterType::xmlAttr    , "xml-attr"  );
    MARTY_CPP_ENUM_CLASS_DESERIALIZE_ITEM( StdFilterType::xmlAttr    , "xml_attr"  );
    MARTY_CPP_ENUM_CLASS_DESERIALIZE_ITEM( StdFilterType::xmlAttr    , "xmlattr"   );
    MARTY_CPP_ENUM_CLASS_DESERIALIZE_ITEM( StdFilterType::xmlText    , "xml-text"  );
    MARTY_CPP_ENUM_CLASS_DESERIALIZE_ITEM( StdFilterType::xmlText    , "xml_text"  );
    MARTY_CPP_ENUM_CLASS_DESERIALIZE_ITEM( StdFilterType::xmlText    , "xmltext"   );
    MARTY_CPP_ENUM_CLASS_DESERIALIZE_ITEM( StdFilterType::html       , "html"      );
    MARTY_CPP_ENUM_CLASS_DESERIALIZE_ITEM( StdFilterType::htmlText   , "html-text" );
    MARTY_CPP_ENUM_CLASS_DESERIALIZE_ITEM( StdFilterType::htmlText   , "html_text" );
    MARTY_CPP_ENUM_CLASS_DESERIALIZE_ITEM( StdFilterType::htmlText   , "htmltext"  );
    MARTY_CPP_ENUM_CLASS_DESERIALIZE_ITEM( StdFilterType::sql        , "sql"       );


По факту, это всё одно и то же, кроме "sql" фильтра (который дублирует apos), просто разные имена

Может быть до восьми фильтров в цепочке — "|xml|sql|..."

Фабрика фильтров может быть задана пользователем, как параметр шаблона

Про литералы тоже намотал на ус, будет.

Сейчас доделываю "фильтры", потом, наверно, сделаю литералы, ибо вкусно для части пользователей.

Примерно 75% готовности.

Само форматирование по заданной спеке пока никак не сделано, вставляется тупо строка std::to_string

Либу доделаю в любом случае, вопрос — когда. Какую-то базу для себя сделаю, потом — по мере необходимости.


Вопрос — кому-нибудь интересно было бы попробовать эту мою либу если не в реальном проекте, то хотя бы погонять на тестах? Пользователи — мотивируют, даже халявные

Фильтры, как аргументы, если из плюсов — https://github.com/al-martyn1/marty_format?tab=readme-ov-file#user-content-%D0%BE%D0%B1%D0%BE%D0%B1%D1%89%D1%91%D0%BD%D0%BD%D1%8B%D0%B9-%D1%82%D0%B8%D0%BF-%D1%84%D0%B8%D0%BB%D1%8C%D1%82%D1%80%D0%B0-basicformatvaluefilter

Синтаксис форматной строки с фильтрами — https://github.com/al-martyn1/marty_format?tab=readme-ov-file#user-content-%D1%81%D0%BF%D0%B5%D1%86%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%82%D0%BE%D1%80-%D1%84%D0%BE%D1%80%D0%BC%D0%B0%D1%82%D0%B0---format_spec
Маньяк Робокряк колесит по городу
Отредактировано 18.04.2025 22:34 Marty . Предыдущая версия . Еще …
Отредактировано 18.04.2025 22:25 Marty . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.