An iterator that gaurentees proper ordering of a TimeSeries. if this iterator encounters a non monitonically increasing value it stops evaluating. It returns its values by reference
an iterator that represents a rolling operation on a Timeseries. Data in the window is held in a buffer that gets reduced according the the transform func.
an iterator that represents a rolling operation on a Timeseries. the transform value is computed according the update and decrement functions, i.e. if you wanted to get the rolling sum you would make it such that update_func => existing value + next value and decrement_func => existing value - last value
an iterator that represents a skip operation on a Timeseries. Skips take the given span_size and apply a func on the two points on the edges to come up with a new values. You can express difference as a skip operations, e.g. transform_func = |prior,next| next - prior
An generic iterator for a timeseries. It does not gaurenteee order. Data is iterated in order of insertion into the containers. Values are returned by Reference
A trait the allows you to collect an Iterator<Item = TimeSeriesDataPoint<TDate,T>> into a TimeSeries<TDate,T> without a potential reorder. Use this method if you know that your data points are in ascending order.