IntervalSet IntervalSet::Or(const std::vector<IntervalSet> &sets) { IntervalSet result; for (auto &s : sets) { result.addAll(s); } return result; }
IntervalSet IntervalSet::Or(const IntervalSet &a) const { IntervalSet result; result.addAll(*this); result.addAll(a); return result; }