| 97 | } |
| 98 | |
| 99 | osmoh::Timespan GetLongetsOpenSpan(osmoh::Timespan const & openingTime, osmoh::TTimespans const & excludeTime) |
| 100 | { |
| 101 | if (excludeTime.empty()) |
| 102 | return openingTime; |
| 103 | |
| 104 | osmoh::Timespan longestSpan{openingTime.GetStart(), excludeTime.front().GetStart()}; |
| 105 | for (size_t i = 0; i + 1 < excludeTime.size(); ++i) |
| 106 | { |
| 107 | osmoh::Timespan nextOpenSpan{excludeTime[i].GetEnd(), excludeTime[i + 1].GetStart()}; |
| 108 | longestSpan = SpanLength(longestSpan) > SpanLength(nextOpenSpan) ? longestSpan : nextOpenSpan; |
| 109 | } |
| 110 | |
| 111 | osmoh::Timespan lastSpan{excludeTime.back().GetEnd(), openingTime.GetEnd()}; |
| 112 | return SpanLength(longestSpan) > SpanLength(lastSpan) ? longestSpan : lastSpan; |
| 113 | } |
| 114 | } // namespace |
| 115 | |
| 116 | namespace editor |
no test coverage detected