Commit 06cdc01c authored by thomas.forbriger's avatar thomas.forbriger
Browse files

[WP][DOC] (ticket10tsio): provide meaningful doxygen documentation

This is a legacy commit from before 2015-03-01.
It may be incomplete as well as inconsistent.
See COPYING.legacy and README.history for details.

Doxygen documentation for libtsioxx is now provided at a minimum level.
parent 3eea7925
......@@ -49,26 +49,23 @@
#include<tsioxx/sfftsfile.h>
#include<sffostream.h>
/*! \brief Interface to libsffxx
*
* \defgroup subgroup_sffheaders_sffxx Interface to libsffxx
* \ingroup group_sffheaders
*
* Output operators for classes in module \ref subgroup_sffheaders_classes
* to SFFostream from libsff
*
* \deprecated
* Direct output to libsffxx through SFFostream is deprecated.
* Use output through libdatrwxx streams instead.
* Appropriate operators are presented in module
* \ref subgroup_sffheaders_datrwxx
* @{
*/
namespace ts {
namespace sff {
/*! \brief libsffxx output operators
* \defgroup group_SFFoutputoperators libsffxx output operators
*
* This module is presented through SFFoutputoperators.h
*
* \deprecated
* This interface should no longer be used.
* The interface provided by outputoperators.h for output to libdatrwxx
* file streams is much more flexible.
*
* @{
*/
/*======================================================================*/
// sff::SFFostream output operators
......@@ -137,9 +134,9 @@ namespace ts {
const File<C>& f)
{ return(os << f.fileheader << TraceVector<C>(f)); }
/*!
* @}
*/
/*!
* @}
*/
} // namespace sff
} // namespace ts
......
......@@ -49,24 +49,18 @@
#include<tfxx/xcmdline.h>
#include<datrwxx/readany.h>
/*! \defgroup group_readtsdata Reading of time series data.
* \brief Read a complete set of time series including the selection of
* traces.
*
* The module is presented in namespace tfxx::tsio.
*
* This module is presented in file readtsdata.h
*
* It is placed ton top of the module presented in sffheaders.h
* and supports to read a complete set of files as presented on the command
* line together with all file specific parameters and trace selectors.
*
*/
namespace ts {
namespace sff {
/*! \brief Full commandline data file parsing
* \defgroup group_cmdlinefiles Full commandline data file parsing
*
* This module is presented through cmdlinefiles.h
*
* @{
*/
/*! \brief type of trace selection list.
*
* \ingroup group_readtsdata, readtsdata_h
......
......@@ -32,38 +32,53 @@
/*! \mainpage
\copyright Copyright (c) 2013 by Thomas Forbriger (BFO Schiltach)
\author Thomas Forbriger
\since January 2014
\date January 2014
$Id$
\section main_aims Aims
\subsection main_sub_purpose Purpose
This library provides modules for time series input/output.
Some of the functionality for SFF i/o is from a pre-libdatrwxx aera and should
be updated.
Other functionality provides the input and output of complete data files with
trace selection in one line of code.
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.
Two modules are provided:
- \ref group_sffheaders
This module provides three submodules:
- \ref subgroup_sffheaders_classes
- \ref subgroup_sffheaders_datrwxx
- \ref subgroup_sffheaders_sffxx
- \ref group_readtsdata
Based on ts::sff::SFFTimeSeries libtsioxx provides ts::sff::TraceVector with
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.
The first adds SFF specific headers to the TimeSeries class template provided
by libtsxx. It adds further structures to hold data from complete time series
data files. For input and output of complete files, appropriate i/o operators
are provided for libdatrwxx streams. Trace selection is supported.
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.
The latter module adds further data to the file classes provided by the first
modules.
Additionally it provides reading functions (not writing functions) which in
the end support the reading of all time series data files provided on the
command line together with all file specific flags and parameters and
selecting traces.
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.
\subsection main_sub_interfaces Interfaces
\par \c sfftimeseries.h:
ts::sff::SFFTimeSeries class template
\par \c sfftsfile.h:
ts::sff::File class template
\par \c inputoperators.h, \c outputoperators.h:
input and output operators for ts::sff::SFFTimeSeries and ts::sff::File
\par \c SFFoutputoperators.h:
deprecated output operators to SFF files (still provided for backward
compatibility)
\par \c cmdlinefiles.h:
ts::sff::SFile and ts::sff::DFile and reading functions
\section main_history History
......
......@@ -48,20 +48,18 @@
#include<tsioxx/sfftsfile.h>
#include<datrwxx/datread.h>
/*! \brief Interface to libdatrwxx
*
* \defgroup subgroup_sffheaders_datrwxx Interface to libdatrwxx
* \ingroup group_sffheaders
*
* Input/output operators for structures in \ref group_sffheaders_classes
* to libdatrwxx input/output streams.
* @{
*/
namespace ts {
namespace sff {
/*! \brief libdatrwxx input operators
* \defgroup group_inputoperators libdatrwxx input operators
*
* This module is presented through inputoperators.h
*
* @{
*/
// libdatrwxx input operators
datrw::idatstream& operator>>(datrw::idatstream& is, FileHeader& fh);
......@@ -74,9 +72,9 @@ namespace ts {
SFFTimeSeries<C>& s)
{ return(is >> s.series() >> s.header); }
/*!
* @{
*/
/*!
* @{
*/
} // namespace sff
} // namespace ts
......
......@@ -48,20 +48,18 @@
#include<tsioxx/sfftsfile.h>
#include<datrwxx/datwrite.h>
/*! \brief Interface to libdatrwxx
*
* \defgroup subgroup_sffheaders_datrwxx Interface to libdatrwxx
* \ingroup group_sffheaders
*
* Input/output operators for structures in \ref group_sffheaders_classes
* to libdatrwxx input/output streams.
* @{
*/
namespace ts {
namespace sff {
/*! \brief libdatrwxx output operators
* \defgroup group_outputoperators libdatrwxx output operators
*
* This module is presented through outputoperators.h
*
* @{
*/
/*======================================================================*/
// libdatrwxx output operators
......@@ -130,9 +128,9 @@ namespace ts {
const File<C>& f)
{ return(os << f.fileheader << TraceVector<C>(f)); }
/*!
* @}
*/
/*!
* @}
*/
} // namespace sff
} // namespace ts
......
......@@ -46,46 +46,31 @@
#include<sffxx.h>
#include<tsxx/tsxx.h>
/*! \brief SFF Timeseries I/O.
/*! \brief Outer namespace
*
* \defgroup group_sffheaders SFF Timeseries I/O
*
* This interface is presented in sffheaders.h
*
* This module provides three submodules:
* - \ref subgroup_sffheaders_classes
* - \ref subgroup_sffheaders_datrwxx
* - \ref subgroup_sffheaders_sffxx
* All mosules are placed within this namespace, which is the namespace of
* modules from libtsxx.
*/
/*! \brief A set of classes to handle complete files
*
* \defgroup subgroup_sffheaders_classes A set of classes to handle complete files
* \ingroup group_sffheaders
*
* As a basis for time series processing, it provides the class template
* SFFTimeSeries which inherits from ts::TimeSeries and this way is a fully
* qualified TimeSeries class in terms of libtsxx.
* SFFTimeSeries can be passed directly for filter modules and other modules
* in libtsxx.
* In contrast to the basic TimeSeries class definitions in libtsxx,
* SFFTimeSeries is equipped with an SFF TraceHeader.
*
* By combining several SFFTimeSeries objects to a TraceVector, a set of
* traces can be stored and passed along.
* A TraceVector together with a FileHeader builds a data File.
*
* @{
*/
namespace ts {
/*! \brief Namespace for libtsioxx modules
*
* To distinguish the modules in libtsioxx and to avoid future conflicts,
* all modules in libtsioxx are placed in this namespace.
*/
namespace sff {
/*----------------------------------------------------------------------*/
/*! \brief SFF TimeSeries class
* \defgroup group_sfftimeseries SFF TimeSeries class
*
* This module is presented through sfftimeseries.h
*
* @{
*/
/*! \brief hold information for a complete SFF trace header
* \ingroup group_sffheaders_classes
*/
class TraceHeader {
public:
......@@ -111,7 +96,6 @@ namespace ts {
/*----------------------------------------------------------------------*/
/*! \brief hold a full SFF trace and provide conversion
* \ingroup group_sffheaders_classes
*/
template<class C>
class SFFTimeSeries:
......@@ -140,9 +124,9 @@ namespace ts {
/*----------------------------------------------------------------------*/
/*!
* @}
*/
/*!
* @}
*/
} // namespace sff
} // namespace ts
......
......@@ -48,24 +48,19 @@
#include<tfxx/rangelist.h>
#include<vector>
/*! \brief SFF Timeseries I/O.
*
* \defgroup group_sffheaders SFF Timeseries I/O
*
* This interface is presented in sffheaders.h
*
* This module provides three submodules:
* - \ref subgroup_sffheaders_classes
* - \ref subgroup_sffheaders_datrwxx
* - \ref subgroup_sffheaders_sffxx
*/
namespace ts {
namespace sff {
/*! \brief SFF File class
* \defgroup group_sfftsfile SFF File class
*
* This module is presented through sfftsfile.h
*
* @{
*/
/*! \brief hold information for a complete SFF file header
* \ingroup group_sffheaders_classes
*/
class FileHeader {
public:
......@@ -88,7 +83,6 @@ namespace ts {
/*----------------------------------------------------------------------*/
/*! \brief hold SFF traces with full header information
* \ingroup group_sffheaders_classes
*/
template<class C>
class TraceVector: public std::vector<SFFTimeSeries<C> > {
......@@ -100,7 +94,6 @@ namespace ts {
/*----------------------------------------------------------------------*/
/*! \brief hold all information contained in an SFF data file
* \ingroup group_sffheaders_classes
*
* Store the complete information contained in a data file
*/
......@@ -119,9 +112,9 @@ namespace ts {
FileHeader fileheader;
}; // struct File
/*!
* @}
*/
/*!
* @}
*/
/*======================================================================*/
......
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