27 unsigned int index = 0;
38 template<
class N,
class V>
39 static void t_traverse(N& node, V& visitor)
41 for (
auto& child : node.children) child->accept(visitor);
44 void traverse(
Visitor& visitor)
override { t_traverse(*
this, visitor); }
45 void traverse(ConstVisitor& visitor)
const override { t_traverse(*
this, visitor); }
46 void traverse(RecordTraversal& visitor)
const override { t_traverse(*
this, visitor); }
48 void read(Input& input)
override;
49 void write(Output& output)
const override;
int compare(const Object &rhs) const override
compare two objects, return -1 if this object is less than rhs, return 0 if it's equal,...