DATRW++ library: seismic data I/O with multiple formats
|
Sequential trace reader. More...
#include <tracereader.h>
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::ianystream * | MPias |
std::istream * | MPis |
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.