#include <boost/phoenix/statement/if.hpp>
Синтаксис является
if_(conditional_expression)
[
sequenced_statements
]
.else_
[
sequenced_statements
]
Обратите внимание, что else имеет ведущую точку и выпадающее подчеркивание: .else_
Пример: Этот код распечатывает все элементы и приложения " > 5", " == 5" или " <5" В зависимости от фактического значения элемента:
std::for_each(c.begin(), c.end(),
if_(arg1 > 5)
[
cout << arg1 << " > 5\n"
]
.else_
[
if_(arg1 == 5)
[
cout << arg1 << " == 5\n"
]
.else_
[
cout << arg1 << " < 5\n"
]
]
);
Заметьте, как вложено утверждение if_else_.