DATRW++ library: seismic data I/O with multiple formats
datrw::sequentialtracereader Class Reference

Sequential trace reader. More...

#include <tracereader.h>

Collaboration diagram for datrw::sequentialtracereader:

Public Member Functions

 sequentialtracereader (const bool &debug=false)
 constructor More...
 
 ~sequentialtracereader ()
 destructor More...
 
Tdseries dseries ()
 
sff::FREE free () const
 
Tfseries fseries ()
 
bool good () const
 
bool hasfree () const
 
bool hasinfo () const
 
bool hassrce () const
 
sff::INFO info () const
 
Tiseries iseries ()
 
bool last () const
 
bool providesd () const
 
bool providesf () const
 
bool providesi () const
 
bool select (const std::string &filename, const int &itrace, const Eformat &format)
 
bool select (const std::string &filename, const int &itrace, const std::string &format)
 
void skipseries ()
 
sff::SRCE srce () const
 
sff::WID2 wid2 () const
 

Private Member Functions

void assertopen () const
 

Private Attributes

bool Mdebug
 
std::string Mfilename
 
int Mindex
 
bool Mopen
 
datrw::ianystreamMPias
 
std::istream * MPis
 

Detailed Description

Sequential trace reader.

this is a wrapper for ianystream reading

You can select a specific trace for a given filename. The reader keeps track of the position within the file. If the previous reading operation was for the same file and the selected trace is a successor of the current trace the reader will only skip to the new trace and provide it through its interface. Only if the selected file is not yet open or if the trace is a predecessor of the selected trace, the file read from the beginning.

The trace reader must provide an explicite interface to the underlying ianyread object. This is necessary to keep track of reading operations. This class provides the same access interface that idatstream provides, including input operators. You can easily replace instances if ianystream and idatstream in your code with instances of sequentialtracereader.

Definition at line 70 of file tracereader.h.


The documentation for this class was generated from the following files: