TSIO++ Time series input/output
|
This library is based on libtsxx which provides tools and utilities for time series analysis and processing which refer to a given sampling interval of the time series. libtsxx for this reason provides a ts::TimeSeries class template, for objects storing sample values along with the sampling interval. The current library (libtsioxx) inherits from this template to provide a ts::sff::SFFTimeSeries class template for objects storing sample values along with full qualified SFF headers (stored in ts::sff::TraceHeader objects) and which are valid ts::TimeSeries objects at the same time.
Based on ts::sff::SFFTimeSeries libtsioxx provides ts::sff::TraceVector which publically inherits from the STL vector and provides an object to store several ts::sff::SFFTimeSeries objects. This, together with ts::sff::FileHeader, is used to compile the class template ts::sff::File, which is able to store complete data files.
Further libtsioxx provides input/output operators for the above mentioned classes to be read from or written two libdatrwxx streams. Reading functions wich provide a rangelist selection for input traces are provided too.
At the highest level of complexity, classes ts::sff::SFile and ts::sff::DFile are provided together with file reading functions. These classes are meant to store a complete set of data files as defined on the command line of application programs together with file specific parameters. A set of such files can be stored in ts::sff::TSFileList and ts::sff::TDFileList objects, which basically are typedefs referring to the STL list container. File input for these objects is supported for reading from libdatrwxx input streams.
tsioxx
.h:traceheader
.h:sfftimeseries
.h:fileheader
.h:tracevector
.h:sfftsfile
.h:sfftsfileread
.h:inputoperators
.h:outputoperators
.h:operators
.h:cmdlinefiles
.h:When reading a complete set of files, we recommend to nevertheless implement the loop over all files in the main program. This allows for more flexibility handling different files differently (with respect to file format for example) and comes at almost no overhead.
Compilation units are reorganized, providing smaller granularity. The previous version as logically inconsistent and incorrect.
These modules previously were implemented in libtsxx and libtfxx. They produced a mutual dependency between both libraries which was undesirable. The modules are now separated into this library which in turn now depends on both, libtsxx and libtfxx. Namely
have moved.
Some modules presented in sffheaders.h date back to a pre-libdatrwxx era. They should be replaced by more up-to-date functionality. These modules (group_SFFoutputoperators) are moved to SFFoutputoperators.h.