/*!
* @defgroup VcfIO VCF I/O
*
* @brief Routines for VCF I/O.
*
* @fn VcfIO#read
*
* @headerfile <seqan/vcf_io.h>
*
* @brief Read a VcfHeader.
*
* @signature int read(header, reader, context, Vcf());
*
* @param[out] header The VcfHeader to read into.
* @param[in,out] reader The SinglePassRecordReader to use for reading.
* @param[in,out] context VcfIOContext to use.
*
* @return int A status code, 0 on success, a different value otherwise.
*
* @fn VcfIO#readRecord
*
* @headerfile <seqan/vcf_io.h>
*
* @brief Read a VcfRecord.
*
* @signature int readRecord(header, reader, context, Vcf());
*
* @param[out] header The VcfRecord to read into.
* @param[in,out] reader The SinglePassRecordReader to use for reading.
* @param[in,out] context VcfIOContext to use.
*
* @return int A status code, 0 on success, a different value otherwise.
*
* @fn VcfIO#write
*
* @headerfile <seqan/vcf_io.h>
*
* @brief Write a VcfHeader.
*
* @signature int write(stream, header, context, Vcf());
*
* @param[in,out] stream The StreamConcept to write to.
* @param[out] header The VcfHeader to write.
* @param[in,out] context VcfIOContext to use.
*
* @return int A status code, 0 on success, a different value otherwise.
*
* @fn VcfIO#writeRecord
*
* @headerfile <seqan/vcf_io.h>
*
* @brief Write a VcfRecord.
*
* @signature int writeRecord(stream, record, context, Vcf());
*
* @param[in,out] stream The StreamConcept to write to.
* @param[out] record The VcfRecord to write.
* @param[in,out] context VcfIOContext to use.
*
* @return int A status code, 0 on success, a different value otherwise.
*/