Struct flatten
boost::proto::functional::flatten — A PolymorphicFunctionObject type that returns a "flattened"
view of a Proto expression tree.
Synopsis
Description
Полиморфная функция Объект, возвращающий «плоский» вид дерева выражения Прото. Для дерева с самой верхней меткой узла типа<T
>элементы сплюснутой последовательности определяются путем повторения в каждый узел ребенка с тем же типом метки и возврата этих узлов другого типа. Так, например, дерево выражения Прото, соответствующее выражению<a | b | c
>, имеет сплюснутый вид с элементами [a, b, c], хотя дерево сгруппировано как<((a | b) | c)
>.
В результате получается вид Fusion Forward Sequence.
flatten
public member functions
- <
template<typenameExpr>
typenameproto::result_of::flatten<Expr>::typeconst
operator()(Expr&expr)const;
>Возвращает последовательность слияний, представляющую сглаженный вид<expr
>.
- <
template<typenameExpr>
typenameproto::result_of::flatten<Exprconst>::typeconst
operator()(Exprconst&expr)const;
>Возвращает последовательность слияний, представляющую сплющенный вид<expr
>.