helper: Added overallRangeFromIntervals

This commit is contained in:
Paul Beckingham 2016-04-21 23:13:05 -04:00
parent 3b3e231370
commit 837f166dc3
2 changed files with 22 additions and 0 deletions

View file

@ -458,3 +458,24 @@ std::vector <Daterange> subtractRanges (
} }
//////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////
Daterange overallRangeFromIntervals (const std::vector <Interval>& intervals)
{
Daterange overall;
for (auto& interval : intervals)
{
if (interval.start () < overall.start () || overall.start ().toEpoch () == 0)
overall.start (interval.start ());
// Deliberately mixed start/end.
if (interval.start () > overall.end ())
overall.end (interval.start ());
if (interval.end () > overall.end ())
overall.end (interval.end ());
}
return overall;
}
////////////////////////////////////////////////////////////////////////////////

View file

@ -57,6 +57,7 @@ std::string jsonFromIntervals (const std::vector <Interval>&);
std::vector <Daterange> rangesFromHolidays (const Rules&); std::vector <Daterange> rangesFromHolidays (const Rules&);
std::vector <Daterange> addRanges (const Daterange&, const std::vector <Daterange>&, const std::vector <Daterange>&); std::vector <Daterange> addRanges (const Daterange&, const std::vector <Daterange>&, const std::vector <Daterange>&);
std::vector <Daterange> subtractRanges (const Daterange&, const std::vector <Daterange>&, const std::vector <Daterange>&); std::vector <Daterange> subtractRanges (const Daterange&, const std::vector <Daterange>&, const std::vector <Daterange>&);
Daterange overallRangeFromIntervals (const std::vector <Interval>&);
// utiŀ.cpp // utiŀ.cpp
std::string osName (); std::string osName ();