# Concept AlphabetConcept
Natural container value.

Extends | AssignableConcept, CopyConstructibleConcept, DefaultConstructibleConcept
All Extended | AssignableConcept, CopyConstructibleConcept, DefaultConstructibleConcept
All Subcl's | AlphabetWithGapsConcept, AlphabetWithQualitiesConcept, AlphabetWithUnknownValueConcept, FiniteOrderedAlphabetConcept, OrderedAlphabetConcept
Defined in | <seqan/basic.h>
Signature | `concept AlphabetConcept;`

## Detailed Description

### Examples

Valid expressions (`v` is of type `T`):

    unsigned bpv = BitsPerValue<T>::VALUE;

## Member Function Overview

### Member Functions Inherited From AssignableConcept

- `operator=`

## Interface Function Overview

### Interface Functions Inherited From AssignableConcept

- `assign`
- `move`
- `set`

## Interface Metafunction Overview

- `BitsPerValue<T>::VALUE`
  Number of bits needed to store a value.

## Interface Metafunctions Detail

### `BitsPerValue<T>::VALUE`

Number of bits needed to store a value.

#### Template Parameters

`T` | A class.

#### Returns

`VALUE` | The number of bits needed to store a value.

#### Dox Sources

    /*!
     * @concept AlphabetConcept
     *
     * @headerfile <seqan/basic.h>
     *
     * @extends AssignableConcept
     * @extends DefaultConstructibleConcept
     * @extends CopyConstructibleConcept
     *
     * @brief Natural container value.
     *
     * @signature concept AlphabetConcept;
     *
     * @section Examples
     *
     * Valid expressions (<tt>v</tt> is of type <tt>T</tt>):
     *
     * @code{.cpp}
     * unsigned bpv = BitsPerValue<T>::VALUE;
     * @endcode
     *
     *
     * @mfn AlphabetConcept#BitsPerValue
     *
     * @headerfile <seqan/basic.h>
     *
     * @brief Number of bits needed to store a value.
     *
     * @signature BitsPerValue<T>::VALUE
     *
     * @tparam T A class.
     *
     * @return VALUE The number of bits needed to store a value.
     */