1. Описание филдов для джсон полей 2. Описание boost for each 3 создание енама с именами и другими свойствами... И так далее, рекурсия это примитив который даёт мгновенно цикл по токенам
1. Без макросов же проще и понятнее (*) 2. Boost.PFR или variadic template + for constexpr 3. Проще без макроса (*) * - см TrivialBiMap в userver. Можно расширить для произвольного количества аргументов
Речь о том, что без макроса бойлерплейт, поэтому уже есть на костылях решения использующие макросы. Поэтому без макросов варианта нет Второе - ПФР ограничен, например не работает для не агрегатов, крайне сильно замедляет компиляцию, вариадик шаблон не имеет тех же возможностей что макрос. Он работает на другом уровне Макрос может делегировать работу шаблону, шаблон НЕ может делегировать работу макросу
Тривиал би мап это буквально то что я предложил и доказывал полгода что оно лучше сортировки в мапу
а если добавить новый расширенный синтаксис препроцессора, с циклами внутри макросов, ифами и прочими подобными конструкциями, чтобы можно было в частности делать кодоген на макросах, а не тащить питон?
Обычно все сводится к копипасте для аргументов от 1 до 100 и всё.
Если макросы использовать то for_each нужен.
При учёте что перегрузки для макросов не работают это скатывается в костыли
Просто добавить поддержку м4 на уровне компиля. Делается за вечер. Запускается до фазы препроцессора)
За вечер? А подсветка заработает?)
Уже есть же в разных видах https://www.npmjs.com/package/@phoenix-plugin-registry/m4-syntax-highlighter
Антон, а скажите, пожалуйста, есть какие-нибудь апдейты по parametric expressions?
Да, они вроде почти готовы (не уверен что именно этот proppsal) надо вординг поправит после cwg ревью Эта штука нужна для pattern matching
а его таки либфичей завозят?
Не, это ядерная фича
я про паттернматчинг именно, не про параметрик экспрешшнс, или он тоже ядерный?
Паттерн матчинг пока варится... Вроде пока ядерный, но я особо не следил
это не радует. В предложенном виде это язык в языке. И фичи которые там в остальной язык не попадают.
Вот по этому оно и буксует, а не уже в языке
а эти параметрик выражения можно будет передавать в шаблон, такой как std::visit ?
а зачем тогда параметрик экспрешшены для пм?
Интересно, надо будет посмотреть как компиляторы оптимизируют цепочки if/else со сравнениями строк. Я в runtime генератор таких функций string->index делал. Немножко попыток через rand сгенерить простенький xor perfect hash, не получилось - пробую chm92, последний fallback unordered.
Обсуждают сегодня