[флуд] c++, boost::mpl

okunek

читаю замечательную книжечку по сабжу, c++ template metaprogramming
типа круто и все такое... но вот вопрос, а где вообще это используется?
ну там приведен один реальный пример - это compile-time проверка размерностей величин во всяческих вычислениях... прикольно
также compile-time подобие STL.
кто это использовал, можете привести пример, где это реально может понадобиться?
я не то что пытаюсь обосрать библиотеку, просто интересно
опыта в проганье - кот наплакал, мож чо недопонимаю?

rosali

прикольно
по-моему не более того.

okunek

ну собственно под "прикольно" я и подразумевал, что прочитать это, сказать вслух прикольно и перелистнуть страницу

rosali

Ну все правильно, для любых compile-time проверок и сложных вычислений существует замечательный проверенный промышленный способ - полноценная кодогенерация. То есть пишется программа, которая распечатывает текст другой программы. В Makefile-е так и говорится - скомпилировать первую. запустить, сохранить результат в файл, скомпилировать снова. Можно эту гениальную идею итерировать, а также применять практически к любому языку. А метапрограммирование на шаблонах - это прикольно, просто прикольно.

koly

наш проект полностью на boost написан. Сложно но можно:)

okunek

ну блин, буст - не только мпл

okunek

о, и сразу вопрос: а чо юзали?

nawok

+1
интересно какие модули из буста часто используются

bobby

вот прямо сейчас юзаю boost graph library

nawok

Слышал:
1. Буст войдет в новый стандарт языка
2. В буст спихнули все, что не вошло в стандарт
Интересно узнать мнения других по этому поводу.

bobby

boost регулярно отсылает в комитет по стандартизации (или куда-то там ещё) предложения о внесении каких-то его частей в стандарт.
В новый стандарт войдет далеко не весь boost, разумеется, но кое-что войдет, видимо.
Где-то недавно видел ссылку на обзор будущего стандарта, кстати, наверное, это было на linux.org.ru.

rosali

интересно какие модули из буста часто используются
У нас в основном по мелочи - boost::thread, boost::lambda, boost::regex,...
Оставить комментарий
Имя или ник:
Комментарий: