Many fixes plus implemented var synchronization
- Improved error handling
- Added Range difference to get missing data ranges
- Implemented variable synchronization for simple serial scenario
Next step is to introduce cache handling in VC2
Signed-off-by: Alexis Jeandet <alexis.jeandet@member.fsf.org>
Added more features in DateTimeRange to prepare variable synchronization
DateTimeRange and helpers has to ease any operation on time ranges
to allow more complex operations between variables.
Signed-off-by: Alexis Jeandet <alexis.jeandet@member.fsf.org>
Introduced opaque library from Kyle Markley and improved DateTimeRange
class
Opaque library allow safer manipulation of numeric values and gives tem
a meaning. This should help to prevent stupid mistakes. A first usage in
SciQLop is Seconds which are double but have a specific meaning, a
DateTimeRange can only be multiplied by a double (-> zoom) but only
seconds can be added to it (-> pan). Even a zoom could be an opaque type
in the future: Range/Range->Zoom, Range*Zoom->Range, Zoom*Range->Error.
DateTimeRange class has now many arithmetic operators implemented
this will allow to implement zoom/pan operations in only one place
and test them.
Signed-off-by: Alexis Jeandet <alexis.jeandet@member.fsf.org>