diff --git a/src/Datafile.cpp b/src/Datafile.cpp index 9cd9ef01..f8cfd9b2 100644 --- a/src/Datafile.cpp +++ b/src/Datafile.cpp @@ -65,9 +65,20 @@ Interval Datafile::getLatestInterval () } //////////////////////////////////////////////////////////////////////////////// -std::vector Datafile::getAllIntervalsSince (Datetime) +std::vector Datafile::getAllIntervalsSince (Datetime when) { - // TODO Load data + if (when >= _day1 && when <= _dayN) + { + if (! _intervals_loaded) + load_intervals (); + + // Rely on intervals being sorted by start time. + std::vector ::iterator i; + for (i = _intervals.begin (); i != _intervals.end (); i++) + if (i->start () >= when) + return std::vector (i, _intervals.end ()); + } + return {}; }