ROSE
0.11.131.0
|
Traverse a tree (pre-order, depth-first) and build a list of values.
RootTag |
Definition at line 201 of file metaprog.h.
#include <Rose/metaprog.h>
Public Types | |
using | head = std::conditional_t< Predicate< RootTag >::value, List< typename Extract< RootTag >::type >, List<> > |
pseudo: head = Predicate<RootTag> ? List<Extract<RootTag>> : List<>; | |
using | tail = typename Children< RootTag >::list::template map_ravel_t< preorder_depthfirst_t > |
pseudo: for (ChildTag: Children<RootTag>) tail += preorder_depthfirst_t<ChildTag>; | |
using | list = typename head::template append_ravel< tail > |
pseudo: return head+tail; | |