# fn() getBamTypeChar
Return char identifying the type of the argument type.

Defined in | <seqan/bam_io.h>
Signature | `char getBamTypeChar<T>(); BamTypeChar<T>::VALUE`

## Template Parameters

`T` | The type to query for its type char.

## Detailed Description

### Remarks

Note that this function is defined for the `__int16`, `__uint16` etc. but not for the types `short`, `int` etc. An exception are 8-bit characters/char, where it is defined for `__int8`, `__uint8`, and `char` unless `char` is equal to one of the other two types. This is important when used in setTagValue etc. since BAM gives type chars for printable characters, signed 8-bit numbers and unsigned 8-bit numbers.

If `__int8` and `__uint8` are not identical to `char`, we can make this decision from the type, otherwise we cannot and we will give the integer types a higher precedence.

In your programs, this should not make any difference, only the written SAM/BAM will differ.

## Data Races

Thread safety unknown!

## See Also

- BamTagsDict
- getBamTypeSize

#### Dox Sources

    /*!
     * @fn getBamTypeChar
     *
     * @headerfile <seqan/bam_io.h>
     *
     * @brief Return char identifying the type of the argument type.
     *
     * @signature char getBamTypeChar<T>();
     * @signature BamTypeChar<T>::VALUE
     *
     * @tparam T The type to query for its type char.
     *
     * @section Remarks
     *
     * Note that this function is defined for the <tt>__int16</tt>,
     * <tt>__uint16</tt> etc. but not for the types <tt>short</tt>, <tt>int</tt>
     * etc. An exception are 8-bit characters/char, where it is defined for
     * <tt>__int8</tt>, <tt>__uint8</tt>, and <tt>char</tt> unless <tt>char</tt> is
     * equal to one of the other two types. This is important when used in @link
     * BamTagsDict#setTagValue @endlink etc. since BAM gives type chars for
     * printable characters, signed 8-bit numbers and unsigned 8-bit numbers.
     *
     * If <tt>__int8</tt> and <tt>__uint8</tt> are not identical to <tt>char</tt>,
     * we can make this decision from the type, otherwise we cannot and we will give
     * the integer types a higher precedence.
     *
     * In your programs, this should not make any difference, only the written
     * SAM/BAM will differ.
     *
     * @see BamTagsDict
     * @see getBamTypeSize
     */