Introduced opaque library from Kyle Markley and improved DateTimeRange...
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>