boost::taar::matcher::flatten — Flatten an AST into a left-to-right type_list of its leaves.
type_list
// In header: <boost/taar/matcher/metadata.hpp> template<typename AST> struct flatten { // types typedef type_list< AST > type; };
not_<X> contributes the same leaves as X. any_metadata and the empty list are treated as having no leaves; leaves themselves form a one-element list.
not_<X>
any_metadata