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

K>>Если все еще непонятно, о чем говорю — приведу пример — boost::spirit. Это просто экстремум шаблонофилии.


_>На самом деле не экстремум. Экстремум можно поискать где-то в области пересечения boost.mpl, boost.proto, boost.fusion... )


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

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

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

Шаблоны в С++ — один из эффективнейших инструментов. Так что не удивительно, что люди пытаются попробовать применить этот инструмент по-разному.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.