#include <qgarlib/AbstractPbmPlusFile.H>
Inheritance diagram for qgar::AbstractPbmPlusFile:

Most of the code documented here is an adaptation of code from the PBM software package. Here is the copyright notice of this package:
+------------------------------------------------------------------------+ | Copyright (C) 1988 by Jef Poskanzer | | | | Permission to use, copy, modify, and distribute this software and its | | documentation for any purpose and without fee is hereby granted, | | provided that the above copyright notice appear in all copies and that | | both that copyright notice and this permission notice appear in | | supporting documentation. This software is provided "as is" without | | express or implied warranty. | +------------------------------------------------------------------------+
Definition at line 121 of file AbstractPbmPlusFile.H.
Public Member Functions | |
Destructor | |
| virtual | ~AbstractPbmPlusFile () |
| Free the current row. | |
Access | |
| int | colCnt () const |
| Get number of columns. | |
| int | rowCnt () const |
| Get number of rows. | |
| unsigned char * | pRow () |
| Get current row. | |
Assignment | |
| void | setColCnt (int aCnt) |
| Set number of columns. | |
| void | setRowCnt (int aCnt) |
| Set number of rows. | |
Input | |
| virtual void | readRow ()=0 |
| Read a row from the file. | |
Output | |
| virtual void | writeRow ()=0 |
| Write a row into the file. | |
Access to file characteristics | |
| std::fstream & | fileStream () |
| Get file stream. | |
| const char *const | fileName () const |
| Get file name. | |
| QGEfileStatus | fileStatus () const |
| Get current file status. | |
Opening | |
| virtual void | openRONLY () throw (QgarErrorIO) |
| Open in read-only mode. | |
| virtual void | openWONLY () throw (QgarErrorIO) |
| Open in write-only mode. | |
| virtual void | openAPPEND () throw (QgarErrorIO) |
| Open in append mode. | |
| virtual void | openRW () throw (QgarErrorIO) |
| Open in read-write mode. | |
| virtual void | openRA () throw (QgarErrorIO) |
| Open in read-append mode. | |
Closing | |
| virtual void | close () |
| Close the file. | |
Checking status | |
| virtual void | isOpenR () throw (QgarErrorUser) |
| Abort if the file is not open in a mode allowing reading. | |
| virtual void | isOpenW () throw (QgarErrorUser) |
| Abort if the file is not open in a mode allowing writing. | |
| virtual void | isOpenA () throw (QgarErrorUser) |
| Abort if the file is not open in a mode allowing appending. | |
| virtual void | isOpenRW () throw (QgarErrorUser) |
| Abort if the file is not open in read-write mode. | |
| virtual void | isOpenRA () throw (QgarErrorUser) |
| Abort if the file is not open in readi-append mode. | |
Protected Member Functions | |
Constructors | |
Constructors belong to the protected section so that the class cannot be instantiated. | |
| AbstractPbmPlusFile (const char *aFileName, int aRowCnt, int aColCnt, QGEpbmFormat aFormat=QGE_PBM_RAW) throw (QgarErrorInvalidArg) | |
| Initialize with full data. | |
Input auxiliaries | |
| virtual char | getChar () throw (QgarErrorIO) |
| Read a character from the file. | |
| virtual int | getInt () throw (QgarErrorIO) |
| Read an integer from the file. | |
| virtual unsigned char | getRawByte () throw (QgarErrorIO) |
| Read a raw byte from the file. | |
Memory space allocation | |
| void | newRow () |
| Allocate a new row. | |
Headers & footers | |
| virtual void | readHeader ()=0 |
| Read header of the file (pure virtual function). | |
| virtual void | writeHeader ()=0 |
| Write header of the file (pure virtual function). | |
| virtual void | writeFooter ()=0 |
| Write footer of the file (pure virtual function). | |
Protected Attributes | |
Representation of a file | |
| QGEpbmFormat | _format |
| Format of the file. | |
| int | _rowCnt |
| Number of rows of the image. | |
| int | _colCnt |
| Number of columns of the image. | |
| unsigned char * | _pRow |
| Pointer to current image row. | |
Representation of a file | |
| char * | _fileName |
| File name. | |
| QGEfileStatus | _fileStatus |
| File status. | |
| std::fstream | _fileStream |
| Associated file stream. | |
|
|
Free the current row.
Definition at line 108 of file AbstractPbmPlusFile.C. References _pRow. |
|
||||||||||||||||||||
|
Initialize with full data.
Definition at line 72 of file AbstractPbmPlusFile.C. |
|
|
Close the file. No effect is the file is already closed.
Definition at line 251 of file AbstractFile.C. References qgar::AbstractFile::_fileStatus, qgar::AbstractFile::_fileStream, qgar::QGE_FILE_STATUS_CLOSED, qgar::QGE_FILE_STATUS_READ_WRITE, qgar::QGE_FILE_STATUS_WRITE_ONLY, and qgar::AbstractFile::writeFooter(). Referenced by qgar::GenImage< T, CheckPolicy >::GenImage(), qgar::MapleFile::MapleFile(), qgar::AbstractFile::openAPPEND(), qgar::AbstractFile::openRA(), qgar::AbstractFile::openRONLY(), qgar::AbstractFile::openRW(), qgar::AbstractFile::openWONLY(), and qgar::GenImage< T, CheckPolicy >::save(). |
|
|
Get number of columns.
Definition at line 328 of file AbstractPbmPlusFile.H. References _colCnt. Referenced by qgar::GenImage< T, CheckPolicy >::GenImage(). |
|
|
Get file name.
Definition at line 395 of file AbstractFile.H. References qgar::AbstractFile::_fileName. |
|
|
Get current file status.
Definition at line 404 of file AbstractFile.H. References qgar::AbstractFile::_fileStatus. |
|
|
Get file stream. When saving the stream, usual I/O operations apply to the associated file, depending on the opening mode. Definition at line 386 of file AbstractFile.H. References qgar::AbstractFile::_fileStream. |
|
|
Read a character from the file.
Definition at line 125 of file AbstractPbmPlusFile.C. References qgar::AbstractFile::_fileName, and qgar::AbstractFile::_fileStream. Referenced by qgar::PbmFile::getBit(), and getInt(). |
|
|
Read an integer from the file.
Definition at line 169 of file AbstractPbmPlusFile.C. References qgar::AbstractFile::_fileName, and getChar(). Referenced by qgar::PgmFile::readHeader(), qgar::PbmFile::readHeader(), and qgar::PgmFile::readRow(). |
|
|
Read a raw byte from the file.
Definition at line 207 of file AbstractPbmPlusFile.C. References qgar::AbstractFile::_fileName, and qgar::AbstractFile::_fileStream. Referenced by qgar::PgmFile::readRow(), and qgar::PbmFile::readRow(). |
|
|
Abort if the file is not open in a mode allowing appending.
Definition at line 310 of file AbstractFile.C. References qgar::AbstractFile::_fileName, qgar::AbstractFile::_fileStatus, qgar::QGE_FILE_STATUS_APPEND, and qgar::QGE_FILE_STATUS_READ_APPEND. |
|
|
Abort if the file is not open in a mode allowing reading.
Definition at line 273 of file AbstractFile.C. References qgar::AbstractFile::_fileName, qgar::AbstractFile::_fileStatus, qgar::QGE_FILE_STATUS_APPEND, and qgar::QGE_FILE_STATUS_WRITE_ONLY. Referenced by qgar::PgmFile::readRow(), and qgar::PbmFile::readRow(). |
|
|
Abort if the file is not open in readi-append mode.
Definition at line 347 of file AbstractFile.C. References qgar::AbstractFile::_fileName, qgar::AbstractFile::_fileStatus, and qgar::QGE_FILE_STATUS_READ_APPEND. |
|
|
Abort if the file is not open in read-write mode.
Definition at line 329 of file AbstractFile.C. References qgar::AbstractFile::_fileName, qgar::AbstractFile::_fileStatus, and qgar::QGE_FILE_STATUS_READ_WRITE. |
|
|
Abort if the file is not open in a mode allowing writing.
Definition at line 292 of file AbstractFile.C. References qgar::AbstractFile::_fileName, qgar::AbstractFile::_fileStatus, and qgar::QGE_FILE_STATUS_READ_ONLY. Referenced by qgar::TgifFile::write(), qgar::DxfFile::write(), qgar::PgmFile::writeRow(), and qgar::PbmFile::writeRow(). |
|
|
Allocate a new row.
Definition at line 234 of file AbstractPbmPlusFile.C. References _colCnt, and _pRow. Referenced by qgar::PgmFile::readHeader(), qgar::PbmFile::readHeader(), qgar::PgmFile::writeHeader(), and qgar::PbmFile::writeHeader(). |
|
|
Open in append mode. The eventual content of the file is preserved and the file pointer is set to the end of the file.
Definition at line 166 of file AbstractFile.C. References qgar::AbstractFile::_fileName, qgar::AbstractFile::_fileStatus, qgar::AbstractFile::_fileStream, qgar::AbstractFile::close(), qgar::QGE_FILE_STATUS_APPEND, and qgar::AbstractFile::readHeader(). |
|
|
Open in read-append mode. The file pointer is set to the end of the file.
Definition at line 223 of file AbstractFile.C. References qgar::AbstractFile::_fileName, qgar::AbstractFile::_fileStatus, qgar::AbstractFile::_fileStream, qgar::AbstractFile::close(), qgar::QGE_FILE_STATUS_READ_APPEND, and qgar::AbstractFile::readHeader(). |
|
|
Open in read-only mode. The file pointer is set to the first character after the header.
Definition at line 107 of file AbstractFile.C. References qgar::AbstractFile::_fileName, qgar::AbstractFile::_fileStatus, qgar::AbstractFile::_fileStream, qgar::AbstractFile::close(), qgar::QGE_FILE_STATUS_READ_ONLY, and qgar::AbstractFile::readHeader(). Referenced by qgar::GenImage< T, CheckPolicy >::GenImage(). |
|
|
Open in read-write mode.
Definition at line 197 of file AbstractFile.C. References qgar::AbstractFile::_fileName, qgar::AbstractFile::_fileStatus, qgar::AbstractFile::_fileStream, qgar::AbstractFile::close(), qgar::QGE_FILE_STATUS_READ_WRITE, and qgar::AbstractFile::writeHeader(). |
|
|
Open in write-only mode.
Definition at line 136 of file AbstractFile.C. References qgar::AbstractFile::_fileName, qgar::AbstractFile::_fileStatus, qgar::AbstractFile::_fileStream, qgar::AbstractFile::close(), qgar::QGE_FILE_STATUS_WRITE_ONLY, and qgar::AbstractFile::writeHeader(). Referenced by qgar::MapleFile::MapleFile(), and qgar::GenImage< T, CheckPolicy >::save(). |
|
|
Get current row.
Definition at line 346 of file AbstractPbmPlusFile.H. References _pRow. Referenced by qgar::GenImage< T, CheckPolicy >::GenImage(), qgar::PgmFile::readRow(), qgar::PbmFile::readRow(), qgar::GenImage< T, CheckPolicy >::save(), qgar::PgmFile::writeRow(), and qgar::PbmFile::writeRow(). |
|
|
Read header of the file (pure virtual function). Automatically performed when the file is opened for reading, appending or reading/appending. Implemented in qgar::DxfFile, qgar::File, qgar::MapleFile, qgar::PbmFile, qgar::PgmFile, and qgar::TgifFile. Referenced by qgar::AbstractFile::openAPPEND(), qgar::AbstractFile::openRA(), and qgar::AbstractFile::openRONLY(). |
|
|
Read a row from the file.
Implemented in qgar::PbmFile, and qgar::PgmFile. Referenced by qgar::GenImage< T, CheckPolicy >::GenImage(). |
|
|
Get number of rows.
Definition at line 337 of file AbstractPbmPlusFile.H. References _rowCnt. Referenced by qgar::GenImage< T, CheckPolicy >::GenImage(). |
|
|
Set number of columns.
Definition at line 360 of file AbstractPbmPlusFile.H. References _colCnt. Referenced by qgar::GenImage< T, CheckPolicy >::save(). |
|
|
Set number of rows.
Definition at line 369 of file AbstractPbmPlusFile.H. References _rowCnt. Referenced by qgar::GenImage< T, CheckPolicy >::save(). |
|
|
Write footer of the file (pure virtual function). Automatically performed when the file is closed. Implemented in qgar::DxfFile, qgar::File, qgar::MapleFile, qgar::PbmFile, qgar::PgmFile, and qgar::TgifFile. Referenced by qgar::AbstractFile::close(). |
|
|
Write header of the file (pure virtual function). Automatically performed when the file is opened for writing only or reading/writing. Implemented in qgar::DxfFile, qgar::File, qgar::MapleFile, qgar::PbmFile, qgar::PgmFile, and qgar::TgifFile. Referenced by qgar::AbstractFile::openRW(), and qgar::AbstractFile::openWONLY(). |
|
|
Write a row into the file.
Implemented in qgar::PbmFile, and qgar::PgmFile. Referenced by qgar::GenImage< T, CheckPolicy >::save(). |
|
|
Number of columns of the image.
Definition at line 258 of file AbstractPbmPlusFile.H. Referenced by colCnt(), newRow(), qgar::PgmFile::readHeader(), qgar::PbmFile::readHeader(), qgar::PgmFile::readRow(), qgar::PbmFile::readRow(), setColCnt(), qgar::PgmFile::writeHeader(), qgar::PbmFile::writeHeader(), qgar::PgmFile::writeRow(), and qgar::PbmFile::writeRow(). |
|
|
|
|
|
Format of the file.
Definition at line 248 of file AbstractPbmPlusFile.H. Referenced by qgar::PgmFile::readHeader(), qgar::PbmFile::readHeader(), qgar::PgmFile::readRow(), qgar::PbmFile::readRow(), qgar::PgmFile::writeHeader(), qgar::PbmFile::writeHeader(), qgar::PgmFile::writeRow(), and qgar::PbmFile::writeRow(). |
|
|
Pointer to current image row.
Definition at line 263 of file AbstractPbmPlusFile.H. Referenced by newRow(), pRow(), qgar::PgmFile::readRow(), qgar::PbmFile::readRow(), qgar::PgmFile::writeRow(), qgar::PbmFile::writeRow(), and ~AbstractPbmPlusFile(). |
|
|
Number of rows of the image.
Definition at line 253 of file AbstractPbmPlusFile.H. Referenced by qgar::PgmFile::readHeader(), qgar::PbmFile::readHeader(), rowCnt(), setRowCnt(), qgar::PgmFile::writeHeader(), and qgar::PbmFile::writeHeader(). |