Здравствуйте, T4r4sB, Вы писали:
M>>Я хоть какую-то годноту принёс на попороть, никто не отвечает.
TB>Посмотрел примеры использования, не нашёл
TB>TB> formatMessage("{} + {} = {}", 2, 2, 4)
TB>
Этого нет пока, да
TB>в лучшем случае
TB>TB> formatMessage("{} + {} = {}", {2, 2, 4})
TB>
Хм, разве пример "Используем std::initializer_list<marty::format::FormatArgumentVariant>" не об этом?
TB>прикрути воредики, несложно ж должно быть.
Я на полпути, как раз решил собрать критику, чтобы в конце не узнать, что я где-то кардинально обосрался в начале пути, и далеко не всё реализовано.
И да, может, есть какой-то идиоматический приём, который позволяет малой кровью собрать вариадик параметры в initializer_list?
TB>Ну разбивает строку по плейсхолдерам, есть именованные плейсхолдеры, что неплохо.
Спс
TB>Можно ли докопаться что возвращается стринг аллоцирующий память, а не структура из ссылок на подстроки? Да пофиг, это никогда не даст заметного влияния на скорость в реальной программе.
Можно. Но у меня возвращается не
std::string, а
typename StringType, и именно потому, что я работаю эмбеде в тч, и тут местами зоопарки строк, многие из которых хранят строку непосредственно в своём теле. И саму либу форматирования я старался дизайнить с учётом подобных строк, но местами мог профукатся, плюс зависимые либы, которые я делал без оглядки на эмбед — я об этом написал, это уже вопрос полировки, когда основной функционал будет реализован.
TB>По коду не знаю, что сказать, некоторые приколы только в процессе использования проявляются.
Ну, в соседнем топике коллеги нашли косяк в моей реализации is_bool, просто проглядев по диагонали мой код.
TB>Реальные косяки тут не определить. У меня бывало что при определении вывода для кастомного типа в шаблонах что-то ехало не туда и в дебаге программа падала, потому что долго объяснять, я пол-дня убил чтоб понять.
Спасибо, что потратил время на посмотреть мою либу