# Spec OneGappedShape
A variable shape with one optional gap.

Extends | Shape
All Extended | Shape
Defined in | <seqan/index.h>
Signature | `template <typename TValue> class Shape<TValue, OneGappedShape>;`

## Template Parameters

`TValue` | The Value type of the string the shape is applied to (e.g. `Dna`).

## Interface Function Overview

### Interface Functions Inherited From Shape

- `hash`
- `hash2`
- `hash2Next`
- `hash2Upper`
- `hashInit`
- `hashNext`
- `hashUpper`
- `length`
- `resize`
- `shapeToString`
- `stringToShape`
- `unhash`
- `value`
- `weight`

## Interface Metafunction Overview

### Interface Metafunctions Inherited From Shape

- `Host`
- `LENGTH`
- `Size`
- `Value`
- `ValueSize`
- `WEIGHT`

## Detailed Description

A OneGappedShape must be initialized first with a valid shape. To do so, call stringToShape.

## See Also

- GenericShape

#### Dox Sources

    /*!
     * @class OneGappedShape
     *
     * @extends Shape
     *
     * @headerfile <seqan/index.h>
     *
     * @brief A variable shape with one optional gap.
     *
     * @signature template <typename TValue> class Shape<TValue, OneGappedShape>;
     *
     * @tparam TValue The @link Value @endlink type of the string the shape is
     *                applied to (e.g. <tt>Dna</tt>).
     *
     * A OneGappedShape must be initialized first with a valid shape. To do so, call
     * @link Shape#stringToShape @endlink.
     *
     * @see GenericShape
     */