Каковы преимущества использования Boost.Phoenix?

Я не могу понять, что за реальные преимущества использования Boost.Phoenix.

Когда я использую его с грамматиками Boost.Spirit, он действительно полезен:

double_[ boost::phoenix::push_back( boost::phoenix::ref( v ), _1 ) ]

Когда я использую его для лямбда-функций, он также полезен и элегантен:

boost::range::for_each( my_string, if_ ( '\\' == arg1 ) [ arg1 = '/' ] );

Но каковы преимущества всего остального в этой библиотеке? В документации сказано: «Функторы везде». Я не Не понимаю, какая в этом польза?

15
задан templatetypedef 16 February 2011 в 07:10
поделиться