/*!
* @class FormattedFileIn
*
* @extends FormattedFile
*
* @headerfile <seqan/stream.h>
*
* @brief Base class for reading formatted files.
*
* @signature typedef FormattedFile<TFileFormat, Input, TSpec> FormattedFileIn;
*
* A formatted input file can write @link FormattedFileHeaderConcept Header
* @endlink and @link FormattedFileRecordConcept Records @endlink.
*
* @fn FormattedFileIn#readHeader
*
* @brief Read one @link FormattedFileHeaderConcept @endlink from a @link
* FormattedFileIn @endlink object.
*
* @signature void readHeader(fileIn, header);
*
* @param[in,out] fileIn The @link FormattedFileIn @endlink object to read from.
* @param[in] header The @link FormattedFileHeaderConcept @endlink to read.
*
* @throw IOError On low-level I/O errors.
* @throw ParseError On high-level file format errors.
*
* @fn FormattedFileIn#readRecord
*
* @brief Read one @link FormattedFileRecordConcept @endlink from a @link
* FormattedFileIn @endlink object.
*
* @signature void readRecord(fileIn, record);
*
* @param[in,out] fileIn The @link FormattedFileIn @endlink object to read from.
* @param[in] record The @link FormattedFileRecordConcept @endlink to read.
*
* @throw IOError On low-level I/O errors.
* @throw ParseError On high-level file format errors.
*/