Quais são os benefícios do uso do Boost.Phoenix?
Não consigo entender quais são os reais benefícios do uso do Boost.Phoenix.
Quando eu o uso com gramáticas Boost.Spirit, é realmente útil:
double_[ boost::phoenix::push_back( boost::phoenix::ref( v ), _1 ) ]
Quando eu o uso para funções lambda, também é útil e elegante:
boost::range::for_each( my_string, if_ ( '\\' == arg1 ) [ arg1 = '/' ] );
Mas quais são os benefícios de tudo nesta biblioteca? A documentação diz: "Functors everywhere". Eu não entendo o que é bom disso?