The ts_begin_scan() function

The ts_begin_scan() function begins a scan of elements in a time series.

Syntax

ts_tscan *
ts_begin_scan(ts_tsdesc   *tsdesc, 
              mi_integer  flags, 
              mi_datetime *begin_stamp, 
              mi_datetime *end_stamp)
tsdesc
Returned by ts_open().
flags
Determines how a scan should work on the returned set.
begin_stamp
Pointer to mi_datetime, to specify where the scan should start. If begin_stamp is NULL, the scan starts at the beginning of the time series. The begin_stamp argument acts much like the begin_stamp argument to the Clip function (Clip function) unless TS_SCAN_EXACT_START is set.
end_stamp
Pointer to mi_datetime, to specify where the scan should stop. If end_stamp is NULL, the scan stops at the end of the time series. When end_stamp is set, the scan stops after the data at end_stamp is returned.

Description

This function starts a scan of a time series between two time stamps.

The scan descriptor is closed by calling ts_end_scan().

The flags argument values

The flags argument determines how a scan should work on the returned set. Valid values for the flags argument are defined in tseries.h. The integer value is the sum of the desired values from the following table.
Flag Value Meaning
TS_SCAN_HIDDEN 512 (0x200) Return hidden elements marked by ts_hide_elem()
TS_SCAN_EXACT_START 256 (0x100) Return NULL if the begin point is earlier than the time series origin. (Normally a scan does not start before the time series origin.)
TS_SCAN_EXACT_END 128 (0x80) Return NULL until the end timepoint of the scan is reached, even if the end timepoint is beyond the end of the time series.
TS_SCAN_NO_NULLS 32 (0x20) Affects the way elements are returned that have never been allocated (TS_NULL_NOTALLOCATED). Usually, if an element has not been allocated it is returned as NULL. If TS_SCAN_NO_NULLS is set, an element is returned that has each column set to NULL instead.
TS_SCAN_SKIP_END 16 (0x10) Skip the element at the end timepoint of the scan range.
TS_SCAN_SKIP_BEGIN 8 (0x08) Skip the element at the beginning timepoint of the scan range.
TS_SCAN_SKIP_HIDDEN 4 (0x04) Skip hidden elements.

Returns

An open scan descriptor, or NULL if the scan times are both before the origin of the time series or if the end time is before the start time.

Example

See the ts_interp() function, in The Interp function example, for an example of the ts_begin_scan() function.