# Class VcfIOContext
The I/O context to use for VCF I/O.

Defined in | <seqan/vcf_io.h>
Signature | `template <typename TNameStore[, typename TNameStoreCache]> class VcfIOContext;`

## Template Parameters

`TNameStore` | The type used to represent the names.
`TNameStoreCache` | The type used to cache the names. Defaults to NameStoreCache <TNameStore>l;.

## Member Function Overview

- `VcfIOContext::VcfIOContext();, VcfIOContext::VcfIOContext(contigNames, sampleNames);`
  Constructor.

## Interface Function Overview

- `TNameStoreRef contigNames(context);`
  Return reference to the contig names from VcfIOContext.
- `TNameStoreCacheRef contigNamesCache(context);`
  Return reference to contig names cache from VcfIOContext.
- `TNameStoreRef sampleNames(context);`
  Return reference to the sample names from VcfIOContext.

## Member Functions Detail

### `VcfIOContext::VcfIOContext(); VcfIOContext::VcfIOContext(contigNames, sampleNames);`

Constructor.

Default constructor or construction with references to contig and sample names.

#### Data Races

If not stated otherwise, concurrent invocation is not guaranteed to be thread-safe.

## Interface Functions Detail

### `TNameStoreRef contigNames(context);`

Return reference to the contig names from VcfIOContext.

#### Parameters

`context` | The VcfIOContext to query.

#### Returns

`TNameStoreRef` | A reference to the `TNameStore` of the context.

#### Data Races

If not stated otherwise, concurrent invocation is not guaranteed to be thread-safe.

### `TNameStoreCacheRef contigNamesCache(context);`

Return reference to contig names cache from VcfIOContext.

#### Parameters

`context` | The BamIOContext to query.

#### Returns

`TNameStoreCacheRef` | A reference to the `TNameStoreCache` of the context.

#### Data Races

If not stated otherwise, concurrent invocation is not guaranteed to be thread-safe.

### `TNameStoreRef sampleNames(context);`

Return reference to the sample names from VcfIOContext.

#### Parameters

`context` | The VcfIOContext to query.

#### Returns

`TNameStoreRef` | A reference to the `TNameStore` of the context.

#### Data Races

If not stated otherwise, concurrent invocation is not guaranteed to be thread-safe.

#### Dox Sources

    /*!
     * @class VcfIOContext
     *
     * @headerfile <seqan/vcf_io.h>
     *
     * @brief The I/O context to use for VCF I/O.
     *
     * @signature template <typename TNameStore[, typename TNameStoreCache]> class
     *            VcfIOContext;
     *
     * @tparam TNameStore The type used to represent the names.
     * @tparam TNameStoreCache The type used to cache the names. Defaults to @link
     *                         NameStoreCache @endlink &lt;TNameStore&gtl;.
     *
     * @fn VcfIOContext::VcfIOContext
     *
     * @brief Constructor.
     *
     * @signature VcfIOContext::VcfIOContext();
     * @signature VcfIOContext::VcfIOContext(contigNames, sampleNames);
     *
     * Default constructor or construction with references to contig and sample
     * names.
     *
     * @fn VcfIOContext#contigNames
     *
     * @brief Return reference to the contig names from @link VcfIOContext @endlink.
     *
     * @signature TNameStoreRef contigNames(context);
     *
     * @param[in] context The @link VcfIOContext @endlink to query.
     *
     * @return TNameStoreRef A reference to the <tt>TNameStore</tt> of the context.
     *
     * @fn VcfIOContext#contigNamesCache
     *
     * @brief Return reference to contig names cache from @link VcfIOContext
     *        @endlink.
     *
     * @signature TNameStoreCacheRef contigNamesCache(context);
     *
     * @param[in] context The @link BamIOContext @endlink to query.
     *
     * @return TNameStoreCacheRef A reference to the <tt>TNameStoreCache</tt> of the
     *                            context.
     *
     * @fn VcfIOContext#sampleNames
     *
     * @brief Return reference to the sample names from @link VcfIOContext @endlink.
     *
     * @signature TNameStoreRef sampleNames(context);
     *
     * @param[in] context The @link VcfIOContext @endlink to query.
     *
     * @return TNameStoreRef A reference to the <tt>TNameStore</tt> of the context.
     */