# Class TagList
A structure to represent a list of tags.

Defined in | <seqan/basic.h>
Signature | `template <[typename TTag[, typename TSubList]]> struct TagList;`

## Template Parameters

`TTag` | The tag of the front for the list.
`TSubList` | Nested list.

## Interface Metafunction Overview

- `LENGTH<TTagList>::VALUE;`
  Return the length of a tag list.
- `TagListValue<TagList, TAG_ID>::Type;`
  A metafunction to retrieve a tag from a TagList.

## Interface Metafunctions Detail

### `LENGTH<TTagList>::VALUE;`

Return the length of a tag list.

#### Template Parameters

`TTagList` | The TagList to query for its length.

#### Returns

`VALUE` | The length of the TagList.

### `TagListValue<TagList, TAG_ID>::Type;`

A metafunction to retrieve a tag from a TagList.

#### Template Parameters

`TagList` | The TagList to query.
`TAG_ID` | An index of a tag in the tag list (`int`. This value must be in `0..LENGTH<TTagList>::VALUE -1`.

#### Dox Sources

    /*!
     * @class TagList
     *
     * @headerfile <seqan/basic.h>
     *
     * @brief A structure to represent a list of tags.
     *
     * @signature template <[typename TTag[, typename TSubList]]> struct TagList;
     *
     * @tparam TTag The tag of the front for the list.
     * @tparam TSubList Nested list.
     *
     * @mfn TagList#LENGTH
     *
     * @brief Return the length of a tag list.
     *
     * @signature LENGTH<TTagList>::VALUE;
     *
     * @tparam TTagList The TagList to query for its length.
     *
     * @return VALUE The length of the TagList.
     *
     * @mfn TagList#TagListValue
     *
     * @brief A metafunction to retrieve a tag from a TagList.
     *
     * @signature TagListValue<TagList, TAG_ID>::Type;
     *
     * @tparam TagList The TagList to query.
     * @tparam TAG_ID An index of a tag in the tag list (<tt>int</tt>. This value
     *                must be in <tt>0..LENGTH&lt;TTagList&gt;::VALUE -1</tt>.
     */