9 #ifndef META_PARSE_INTERNAL_NODE_H_
10 #define META_PARSE_INTERNAL_NODE_H_
45 template <
class FwdIt>
47 :
base{std::move(cat)}
49 auto dist = std::distance(begin, end);
51 for (; begin != end; ++begin)
52 children_.emplace_back(std::move(*begin));
64 std::vector<std::unique_ptr<node>>&& children);
88 const node*
child(uint64_t idx)
const;
90 bool is_leaf()
const override;
92 bool equal(
const node& other)
const override;
121 void head(
const node* n);