49 absl::Span<
const std::pair<int64_t, int64_t>> interbreaks);
55 static bool IncreaseMin(int64_t new_min, Interval* interval,
57 if (interval->
min >= new_min)
return true;
65 static bool DecreaseMax(int64_t new_max, Interval* interval,
67 if (interval->max <= new_max)
return true;
68 if (!interval->DecreaseMax(new_max)) {
75 static bool IntersectWith(Interval source, Interval* target,
77 if (!source.IntersectWith(*target)) {
79 }
else if (source != *target) {
90 struct DelayedPropagation {
95 std::vector<DelayedPropagation> delayed_propagations_;
101 bool operator<(
const UsageEvent& other)
const {
return time < other.time; }
103 std::vector<UsageEvent> usage_events_;
105 CommittableArray<int64_t> break_duration_on_transition_;