/*!
* @class FormattedFileOut
*
* @extends FormattedFile
*
* @headerfile <seqan/stream.h>
*
* @brief Base class for writing formatted files.
*
* @signature typedef FormattedFile<TFileFormat, Output, TSpec>
* FormattedFileOut;
*
* A formatted output file can write @link FormattedFileHeaderConcept Header
* @endlink and @link FormattedFileRecordConcept Records @endlink.
*
* @fn FormattedFileOut#writeHeader
*
* @brief Write one @link FormattedFileHeaderConcept @endlink to a @link
* FormattedFileOut @endlink object.
*
* @signature void writeHeader(fileOut, header);
*
* @param[in,out] fileOut The @link FormattedFileOut @endlink object to write
* into.
* @param[in] header The @link FormattedFileHeaderConcept @endlink to write.
*
* @throw IOError On low-level I/O errors.
* @throw ParseError On high-level file format errors.
*
* @fn FormattedFileOut#writeRecord
*
* @brief Write one @link FormattedFileRecordConcept @endlink to a @link
* FormattedFileOut @endlink object.
*
* @signature void writeRecord(fileOut, record);
*
* @param[in,out] fileOut The @link FormattedFileOut @endlink object to write
* into.
* @param[in] record The @link FormattedFileRecordConcept @endlink to write.
*
* @throw IOError On low-level I/O errors.
* @throw ParseError On high-level file format errors.
*/