|
TF++, Miscellaneous classes and modules in C++:
|
read FORTRAN binary data ,This class reads FORTRAN binary data. FORTRAN binary data is always written in chunks of several bytes, where each chunk is preceded and followed by a 4-byte integer byte-count. This class takes care of this structure of byte-counts an returns only the real data (omitting the counts). More...
#include <fortranio.h>

Public Member Functions | |
| FortranBinInput (std::istream &is, const bool &swap=false) | |
start reading from input stream is More... | |
| ~FortranBinInput () | |
| needs a cleaning destructor More... | |
| bool | more () const |
| are there more data expected? More... | |
| template<typename T > | |
| void | get (T &value) |
| bool | match_magic (const char *cmagic) |
| expect magic number and adjust swapping flag More... | |
Private Member Functions | |
| char | extract_next_char () |
| return next element from input stream More... | |
| void | extract_chars (char *buf, const int &n) |
| extract next set of characters More... | |
| void | read_block_size () |
| read next block size More... | |
| void | finish_block () |
| finish open block More... | |
Private Attributes | |
| std::istream & | Mistream |
| The input stream to read from. More... | |
| bool | Mswap |
| Has byte swapping to be performed. More... | |
| long int | Mnbytes |
| Number of bytes expected in current block. More... | |
| long int | Mnremain |
| Number of bytes still to read from current block. More... | |
read FORTRAN binary data ,
This class reads FORTRAN binary data. FORTRAN binary data is always written in chunks of several bytes, where each chunk is preceded and followed by a 4-byte integer byte-count. This class takes care of this structure of byte-counts an returns only the real data (omitting the counts).
No buffering is done, because we rely on stream-buffering.
By creating the object the reading process is initialized. For convenient access I/O operators are provided.
No checking for block alignment is performed. This means, the class does not complain in case the first three bytes of a double are at the end of one block and the next five bytes are at the beginning of the next block. The class just ensures that block byte-counts are skipped.
Definition at line 137 of file fortranio.h.