|
casacore
|
fixed-length blocked sequentual I/O base class
More...
#include <blockio.h>
Public Types | |
| enum | IOErrs { OK , NOSUCHFILE , NOMEM , OPENERR , CLOSEERR , READERR , WRITEERR } |
| error return code More... | |
Public Member Functions | |
| int | err () const |
| int | blockno () const |
| number of physical blocks read/written | |
| void | reset_iosize () |
| reset the m_iosize data member | |
| int | iosize () const |
| get the total bytes of data in m_buffer | |
| int | current () const |
| get the current read position within m_buffer | |
| char * | buffer () const |
| get m_buffer | |
| int | recno () const |
| number of logical records read/written | |
| const char * | fname () const |
| name of file associated with I/O stream, if applicable | |
| int | close_file (fitsfile *fptr, int *status) |
| fits_close_file() does not work for reasons that the file pointer does not have the knowledge of chdu which were written with write_hdr() not write_***_hdr(). | |
| int | fdes () const |
| file descriptor associated with I/O stream, if applicable | |
| fitsfile * | getfptr () const |
| get the fitsfile pointer | |
| void | setfptr (fitsfile *ffp) |
Protected Member Functions | |
| BlockIO (const char *, int, int, int=1, FITSErrorHandler errhandler=FITSError::defaultHandler) | |
| Construction can be done either from a filename with open options or from a file descriptor. | |
| BlockIO (int, int, int=1, FITSErrorHandler errhandler=FITSError::defaultHandler) | |
| virtual | ~BlockIO () |
| void | errmsg (IOErrs, const char *) |
| set the error message and error number for later recovery | |
Protected Attributes | |
| char * | m_filename |
| int | m_options |
| const int | m_recsize |
| const int | m_nrec |
| const int | m_blocksize |
| FITSErrorHandler | m_errfn |
| IOErrs | m_err_status |
| int | m_fd |
| char * | m_buffer |
| int | m_block_no |
| int | m_rec_no |
| int | m_current |
| int | m_iosize |
| size of record in buffer | |
| fitsfile * | m_fptr |
| using fitsfile structure from cfitsio of NASA | |
fixed-length blocked sequentual I/O base class
BlockIO is a low level base class that implements fixed-length blocked sequential I/O. Its derived classes, BlockInput and BlockOutput are used by the FitsInput and FitsOutput classes. Users will hardly ever need to use this class directly.
|
protected |
Construction can be done either from a filename with open options or from a file descriptor.
The remaining arguments are the the logical record size and number of records that make up a physical record followed by the output stream that is used to write error messages to.
|
protected |
|
protectedvirtual |
|
inline |
number of physical blocks read/written
Definition at line 67 of file blockio.h.
References m_block_no.
Referenced by casacore::FitsInput::blockno().
|
inline |
| int casacore::BlockIO::close_file | ( | fitsfile * | fptr, |
| int * | status | ||
| ) |
fits_close_file() does not work for reasons that the file pointer does not have the knowledge of chdu which were written with write_hdr() not write_***_hdr().
So create our own close_file() method.
|
inline |
|
inline |
Definition at line 64 of file blockio.h.
References m_err_status.
|
protected |
set the error message and error number for later recovery
|
inline |
|
inline |
name of file associated with I/O stream, if applicable
Definition at line 85 of file blockio.h.
References m_filename.
|
inline |
|
inline |
|
inline |
number of logical records read/written
Definition at line 82 of file blockio.h.
References m_rec_no.
Referenced by casacore::FitsInput::recno().
|
inline |
| void casacore::BlockIO::setfptr | ( | fitsfile * | ffp | ) |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
size of record in buffer
Definition at line 124 of file blockio.h.
Referenced by iosize(), and reset_iosize().
|
protected |