Re[3]: Метапрограммисты надоели
От: alex_public  
Дата: 06.10.14 07:29
Оценка:
Здравствуйте, PM, Вы писали:

PM>Для добавления экстремальности я бы еще добавил boost.preprocessor в эту компанию, хоть это и другой вид магии Вот пример: https://github.com/pmed/v8pp/blob/master/v8pp/call_from_v8.hpp — вызов С++ функции (или функции-члена) из JavaScript-движка V8. При вызове производится преобразование списка аргументов v8::Arguments из JavaScript к аргументам требуемой функции. Я не знаю как проще сделать это в С++03, только генерировать код руками/внешним скриптом.


Да, да, есть такая штука. Я её использовал для автоматической генерации ORM (за неимением интроспекции времени компиляции в языке). Просто автор темки переживал именно за шаблоны. )

PM>Переписываю сейчас это на С++11 с variadic templates и радуюсь своему счастью


К сожалению не всё из препроцессора можно так переписать...

PM>Или вот недавняя тема: http://rsdn.ru/forum/cpp.applied/5776544.flat
Автор: PM
Дата: 10.09.14
Автор использует boost.fusion потому что нет пока в языке compile-time reflection, а код генерировать надо. И генерация внешними инструментами им не подходит.


Да, это как мне кажется самый большой недостаток языка (ну про сложность мы упоминать не будем) в данный момент. Но в данном случае boost.fusion — это всё же на мой взгляд уж слишком костыльное решение.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.