bool GroupExpression::operator==(const GroupExpression &r) { bool eq = (op == r.Op()); auto left_groups = child_groups; auto right_groups = r.child_groups; std::sort(left_groups.begin(), left_groups.end()); std::sort(right_groups.begin(), right_groups.end()); for (size_t i = 0; i < left_groups.size(); ++i) { eq = eq && (left_groups[i] == right_groups[i]); } return eq; }
bool GroupExpression::operator==(const GroupExpression &r) { return (op == r.Op()) && (child_groups == r.child_groups); }