# Spec Block String
String optimized for appendValue, back, and eraseBack (Stack behaviour).

Extends | String
All Extended | String
All Impl'd | AssignableConcept, ContainerConcept, DestructibleConcept, ForwardContainerConcept, RandomAccessContainerConcept, ReversibleContainerConcept, SegmentableConcept, StringConcept, TextConcept
Defined in | <seqan/sequence.h>
Signature | `template <typename TValue, unsigned SPACE = 4096> class String<TValue, Block<SIZE> >;`

## Template Parameters

`TValue` | The value type, that is the type of the items/characters stored in the string. Use Value to get the value type for a given class.
`SIZE` | A positive integer that specifies the number of values in each allocated block. Size should be a power of 2, e.g., 1024.

## Member Function Overview

### Member Functions Inherited From String

- `operator=`
- `String`

### Member Functions Inherited From AssignableConcept

- `operator=`

### Member Functions Inherited From RandomAccessContainerConcept

- `operator[]`

## Interface Function Overview

### Interface Functions Inherited From String

- `beginPosition`
- `endPosition`
- `reserve`
- `resizeSpace`
- `toCString`

### Interface Functions Inherited From AssignableConcept

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

### Interface Functions Inherited From ContainerConcept

- `begin`
- `end`
- `length`
- `empty`
- `swap`
- `writeValue`
- `write`
- `getObjectId`
- `moveValue`
- `append`
- `appendValue`
- `shrinkToFit`
- `directionIterator`

### Interface Functions Inherited From RandomAccessContainerConcept

- `value`
- `assignValue`
- `getValue`

### Interface Functions Inherited From SegmentableConcept

- `prefix`
- `infixWithLength`
- `infix`
- `suffix`

### Interface Functions Inherited From StringConcept

- `iter`
- `append`
- `appendValue`
- `front`
- `back`
- `resize`
- `clear`
- `erase`
- `eraseFront`
- `eraseBack`
- `capacity`
- `computeGenerousCapacity`
- `insert`
- `insertValue`
- `replace`

### Interface Functions Inherited From TextConcept

- `stringSetLimits`
- `posLocalToX`
- `posLocalize`
- `posGlobalize`
- `getSeqNo`
- `getSeqOffset`

## Interface Metafunction Overview

### Interface Metafunctions Inherited From ContainerConcept

- `DefaultGetIteratorSpec`
- `DefaultIteratorSpec`
- `Difference`
- `DirectionIterator`
- `GetValue`
- `Iterator`
- `Position`
- `Reference`
- `Size`
- `Value`

### Interface Metafunctions Inherited From SegmentableConcept

- `Infix`
- `Prefix`
- `Suffix`

### Interface Metafunctions Inherited From TextConcept

- `SAValue`
- `StringSetLimits`

#### Dox Sources

    /*!
     * @class BlockString Block String
     *
     * @extends String
     *
     * @headerfile <seqan/sequence.h>
     *
     * @brief String optimized for appendValue, back, and eraseBack (Stack
     *        behaviour).
     *
     * @signature template <typename TValue, unsigned SPACE = 4096> class
     *            String<TValue, Block<SIZE> >;
     *
     * @tparam TValue The value type, that is the type of the items/characters
     *                stored in the string. Use @link ContainerConcept#Value
     *                @endlink to get the value type for a given class.
     * @tparam SIZE A positive integer that specifies the number of values in each
     *              allocated block. Size should be a power of 2, e.g., 1024.
     */