Я регулярно использую boost.lambda (и phoenix) для определения лямбда-функций в C++. Мне очень нравится их полиморфное свойство, простота их представления и то, как они облегчают функциональное програ
В статье Boost Phoenix «Трансформирование дерева выражений», here, набор специализаций настраиваемого класса invert_actions используется для инвертирования двоичных арифметических выражений. Например,
В руководстве подталкивания :: прото, есть пример грамматики, который соответствует терминалам типа станда :: преобразование < ...>: struct StdComplex
: proto::terminal< std::complex<proto::_> >