#pragma once #include #include #include template struct subtree_iterator final { gp::buffer target; size_t idx; public: subtree_iterator() : target{} , idx{0} {} subtree_iterator(gp::buffer data, size_t itr_idx) : target{data} , idx{itr_idx} {} template void climb_traversal(func& traverser) { } };