Commit bddb8af7 authored by thomas.forbriger's avatar thomas.forbriger

libtsioxx [DOC][ERR][!!!][WP]: give account of file contents

This is the first commit in a series of commits to fix a major bug:

Currently the source code fails to compile with g++ 7.3.1, although no
fatal errors were reported with previous compiler versions. Code
analysis reveals:
line 139 in sfftsfile.h calls the input operator
  datrw::idatstream& operator>>(datrw::idatstream& is, FileHeader& fh);
which is not available there. It is embarrassing that this went
unnoticed for such a long time. The input operator cannot be made
available there because of inappropriate separation of class declaration
and member function implementation. sfftsfile.h contains a declaration
required by inputoperators.h Hence sfftsfile.h amy not load inputoperators.h

Currently inputoperators.h appears like the main interface to libtsioxx,
loading all other header files subsequently. This appears inapprorpiate
as well.

The code must be reorganized in different compilation units, probably
introducing smaller granularity. This will change the API to the library
in terms of header files.
parent 15630e52
......@@ -35,14 +35,18 @@ for these objects is supported for reading from libdatrwxx input streams.
Interfaces
----------
sfftimeseries.h
ts::sff::SFFTimeSeries class template
declare ts::sff::TraceHeader and ts::sff::SFFTimeSeries class template
This essentially is a ts::TimeSeries with ts::sff::TraceHeader
sfftsfile.h
ts::sff::File class template
declare ts::sff::FileHeader, ts::sff::TraceVector<C>, and
ts::sff::File<C> class template
operators.h
inputoperators.h
outputoperators.h
input and output operators for ts::sff::SFFTimeSeries and ts::sff::File
operators.h loads inputoperators.h and outputoperators.h
SFFoutputoperators.h
deprecated output operators to SFF files (still provided for backward
......@@ -50,6 +54,24 @@ SFFoutputoperators.h
cmdlinefiles.h
ts::sff::SFile and ts::sff::DFile and reading functions
These functions take command line parameters as assembled by modules in
tfxx::cmdline as provided in tfxx/xcmdline.h The functions all are called
either ts::sff::readSSFF (returns single precision ts::sff::SFile) or
ts::sff::readDSFF (returns double precision ts::sff::DFile)
Implementation
--------------
cmdlinefiles.cc
implements reading function declared in cmdlinefiles.h
inputoperators.cc
implements input operators for ts::sff::FileHeader and ts::sff::TraceHeader
sfftimeseries.cc
implements member functions of ts::sff::TraceHeader
sfftsfile.cc
implements member functions of ts::sff::FileHeader
Installation instructions
-------------------------
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment