Size: a a a

2020 September 09

CD

Constantine Drozdov in pro.cxx
Вызов "file size: {bytes}"_format означает, что спецификация _format
источник

CD

Constantine Drozdov in pro.cxx
"file size: %d"_format означает std::fmt23::d_tag в точности как его определяет std
источник

CD

Constantine Drozdov in pro.cxx
все, что тебе нужно - прочитать непосредственно DSL
источник

CD

Constantine Drozdov in pro.cxx
расчехляем лексические парсеры, собственно
источник

MM

Max Maximog in pro.cxx
Кого то интересует сервер по программированию в дискорде?
источник

CD

Constantine Drozdov in pro.cxx
что характерно, сами лексические парсеры по жизни на DSL
источник

DS

Dmitry Sokolov in pro.cxx
Constantine Drozdov
что характерно, сами лексические парсеры по жизни на DSL
Но это только с compile time строками соответственно. Теоретически это может быть развитием format, если отделить например то что есть от такого варианта tag-dispatch. И там уж требовать formatter<T, fmt::tag<"bytes">>. Сложно, реально проще в bytes завернуть аргумент :) или вообще тип bytes_size_t
источник

CD

Constantine Drozdov in pro.cxx
Dmitry Sokolov
Но это только с compile time строками соответственно. Теоретически это может быть развитием format, если отделить например то что есть от такого варианта tag-dispatch. И там уж требовать formatter<T, fmt::tag<"bytes">>. Сложно, реально проще в bytes завернуть аргумент :) или вообще тип bytes_size_t
Ну это нужно compile time строки и потом кодить fmt23. После чего самый бедный вариант - пишется formatter<template<compilestring> typename traits> и мапа строк на теги - в параметры
источник

CD

Constantine Drozdov in pro.cxx
Но глобальная идея в том, что строковый литерал может записывать некоторую функцию, как "void f() {}" это делает
источник

CD

Constantine Drozdov in pro.cxx
И формат - просто частный пример для такой записи
источник

CD

Constantine Drozdov in pro.cxx
Как и регэксп
источник

DS

Dmitry Sokolov in pro.cxx
Но не стоит овчина выделки мне кажется, чаще всего подстановки в формате это просто {} и хелперы типа bytes это скорей редкость.
источник

CD

Constantine Drozdov in pro.cxx
Dmitry Sokolov
Но не стоит овчина выделки мне кажется, чаще всего подстановки в формате это просто {} и хелперы типа bytes это скорей редкость.
Там всегда стоит тип эскейпа. В любом реальном примере
источник

CD

Constantine Drozdov in pro.cxx
Спецификатор {} просто не существует для строк
источник

CD

Constantine Drozdov in pro.cxx
код EOF в этом месте это точно нормально, да?
источник

CD

Constantine Drozdov in pro.cxx
для C++20 думаю лучшее для такого - препроцеснуть шаблон в структуру входных параметров и использовать designated
источник

AM

Alexander Malkov in pro.cxx
Добрый день, вопрос про я. Субботник по плюсам, будет потом видео в записи?)
источник

AM

Alexander Malkov in pro.cxx
А есть уже компиляторы в которых реализован fmt?
источник

D

Danya in pro.cxx
Alexander Malkov
А есть уже компиляторы в которых реализован fmt?
Судя по этому, нет
https://en.cppreference.com/w/cpp/compiler_support
Но наверное стоит ещё релиз ноуты компиляторов посмотреть
источник

DS

Dmitry Sokolov in pro.cxx
Alexander Malkov
А есть уже компиляторы в которых реализован fmt?
Обсуждение началось кажется с того что у msvc появились первые коммиты с format.
источник