170 похожих чатов

Тогда зачем же рекурсивные макросы? Какой пример использования?

22 ответов

6 просмотров

1. Описание филдов для джсон полей 2. Описание boost for each 3 создание енама с именами и другими свойствами... И так далее, рекурсия это примитив который даёт мгновенно цикл по токенам

🐙 Antony-Polukhin Автор вопроса
Kelbon
1. Описание филдов для джсон полей 2. Описание boo...

1. Без макросов же проще и понятнее (*) 2. Boost.PFR или variadic template + for constexpr 3. Проще без макроса (*) * - см TrivialBiMap в userver. Можно расширить для произвольного количества аргументов

🐙 Antony Polukhin
1. Без макросов же проще и понятнее (*) 2. Boost.P...

Речь о том, что без макроса бойлерплейт, поэтому уже есть на костылях решения использующие макросы. Поэтому без макросов варианта нет Второе - ПФР ограничен, например не работает для не агрегатов, крайне сильно замедляет компиляцию, вариадик шаблон не имеет тех же возможностей что макрос. Он работает на другом уровне Макрос может делегировать работу шаблону, шаблон НЕ может делегировать работу макросу

🐙 Antony Polukhin
1. Без макросов же проще и понятнее (*) 2. Boost.P...

Тривиал би мап это буквально то что я предложил и доказывал полгода что оно лучше сортировки в мапу

а если добавить новый расширенный синтаксис препроцессора, с циклами внутри макросов, ифами и прочими подобными конструкциями, чтобы можно было в частности делать кодоген на макросах, а не тащить питон?

🐙 Antony Polukhin
1. Без макросов же проще и понятнее (*) 2. Boost.P...

Обычно все сводится к копипасте для аргументов от 1 до 100 и всё.

Alex Noname
Обычно все сводится к копипасте для аргументов от ...

Если макросы использовать то for_each нужен.

Alex Noname
Обычно все сводится к копипасте для аргументов от ...

При учёте что перегрузки для макросов не работают это скатывается в костыли

disba1ancer
а если добавить новый расширенный синтаксис препро...

Просто добавить поддержку м4 на уровне компиля. Делается за вечер. Запускается до фазы препроцессора)

Kelbon
За вечер? А подсветка заработает?)

Уже есть же в разных видах https://www.npmjs.com/package/@phoenix-plugin-registry/m4-syntax-highlighter

🐙 Antony Polukhin
1. Без макросов же проще и понятнее (*) 2. Boost.P...

Антон, а скажите, пожалуйста, есть какие-нибудь апдейты по parametric expressions?

🐙 Antony-Polukhin Автор вопроса
blur
Антон, а скажите, пожалуйста, есть какие-нибудь ап...

Да, они вроде почти готовы (не уверен что именно этот proppsal) надо вординг поправит после cwg ревью Эта штука нужна для pattern matching

🐙 Antony-Polukhin Автор вопроса

Не, это ядерная фича

🐙 Antony Polukhin
Не, это ядерная фича

я про паттернматчинг именно, не про параметрик экспрешшнс, или он тоже ядерный?

🐙 Antony-Polukhin Автор вопроса
feedable
я про паттернматчинг именно, не про параметрик экс...

Паттерн матчинг пока варится... Вроде пока ядерный, но я особо не следил

🐙 Antony Polukhin
Паттерн матчинг пока варится... Вроде пока ядерный...

это не радует. В предложенном виде это язык в языке. И фичи которые там в остальной язык не попадают.

🐙 Antony-Polukhin Автор вопроса
Sergey S
это не радует. В предложенном виде это язык в язык...

Вот по этому оно и буксует, а не уже в языке

🐙 Antony Polukhin
Паттерн матчинг пока варится... Вроде пока ядерный...

а эти параметрик выражения можно будет передавать в шаблон, такой как std::visit ?

🐙 Antony Polukhin
Паттерн матчинг пока варится... Вроде пока ядерный...

а зачем тогда параметрик экспрешшены для пм?

🐙 Antony Polukhin
1. Без макросов же проще и понятнее (*) 2. Boost.P...

Интересно, надо будет посмотреть как компиляторы оптимизируют цепочки if/else со сравнениями строк. Я в runtime генератор таких функций string->index делал. Немножко попыток через rand сгенерить простенький xor perfect hash, не получилось - пробую chm92, последний fallback unordered.

Похожие вопросы

Обсуждают сегодня

А как старый хаскел с новым стыковать ? потому как тут работает https://play.haskell.org/saved/C3xpMzcd, а вот тут https://stepik.org/lesson/7602/step/9?unit=1473 нет ошибка C...
Fedor
131
Ребят, что лучше для реверса: гидра или ида?
En Vind Av Sorg
22
Вопрос я правильно понимаю что в коде newtype ArrowMap k v = ArrowMap { getArrowMap :: k -> Maybe v } getArrowMap есть функция типа k -> Maybe v, если да, то не понимаю задач...
Fedor
64
Делаю велосипед логгер. К сообщению хочу прикрутить некоторую информацию, типа, кем отправлено, какой уровень, и всякое такое. И тут подумалось мне, почему бы не хранить весь...
Serjone
24
Как Вы считаете нормально ли в двадцатых годах 21 века в ВУЗах Российской Федерации обучать студентов работе с TASM? Не слишком ли это "архаично"? (Если оффтоп или флейм для э...
Spiker01
52
а не подскажете вот это скрин из какой IDE ?
Iluha Companets
14
Комрады, хотел уточнить. Проперть в OnDestroy юнита-хозяина по-прежнему доступна? И еще уточнение: finalization юнита наступает раньше или позже OnDestroy?
Ed Doc
48
Сегодня у себя обнаружил Holodeck-2_8_0.exe (48.5 Mb). Вопрос: откуда он у меня взялся?
楽園松本
8
Народ всем привет Подскажите, как включить самописные dll библиотеки в итоговую сборку Сейчас при запуске dev сервера локально формируется папка build, из которой запускается...
Андрей
4
Продолжая диалог про свифт в проде – сейчас возник вопрос в активном наборе бекендеров. В основном в нашей компании мы фанаты Java Spring и полностью ей довольны. Однако найм ...
Guseyn
27
Карта сайта