| 134 | |
| 135 | template <typename Data, typename Fn> |
| 136 | void ForEach(types::Ptr<Data> const & node, Fn && fn) |
| 137 | { |
| 138 | PreOrderVisit(node, [&](auto const & node) { fn(node->GetData()); }); |
| 139 | } |
| 140 | |
| 141 | template <typename Data, typename Fn> |
| 142 | decltype(auto) FindIf(types::Ptr<Data> const & node, Fn && fn) |