Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- template<class F>
- tree find(const tree& where, F&& predicate)
- {
- tree ret;
- find_aux(where, std::forward<F>(predicate), ret);
- return ret;
- }
- template<class F>
- void find_aux(const tree& where, F&& predicate, tree& accum)
- {
- if (predicate(where.value)) accum.add(where.value);
- find_aux(where.left, std::forward<F>(predicate), accum);
- find_aux(where.right, std::forward<F>(predicate), accum);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement