Здравствуйте, Evgeny.Panasyuk, Вы писали:
EP>Недостаток языка — это отсутствие compile-time reflection, Boost.Fusion для этого предлагает макросы BOOST_FUSION_DEFINE_STRUCT и подобные.
EP>А вот те методы работы, которые предлагает Boost.Fusion с уже адаптированными структурами (то есть для которые есть необходимые гетерогенные итераторы) — вполне себе, ничего костыльного.
Нуу тут вопрос вот в чём — если бы у нас уже была интроспекция в языке, то стали бы мы использовать подобное? Соответственно все варианты где ответ "нет не стали бы, но пока приходится" являются сильно костыльным. На мой вкус конечно же...
EP>Даже как-то сравнивали в этом отношении Boost.Fusion vs Nemerle vs D (FusionАвтор: Evgeny.Panasyuk
Дата: 24.10.13
, NemerleАвтор: VladD2
Дата: 24.10.13
, DАвтор: D. Mon
Дата: 24.10.13
, allАвтор: Evgeny.Panasyuk
Дата: 25.10.13
) получилось вот так (даже без использования полиморфных лямбд):
Что-то там код слегка разный вроде. Ну да не принципиально, главное же идея обхода. ) Ну и да, на C++ тут самый симпатичный вариант.