# fn() complement
Complement a sequence or a StringSet in-place.

Defined in | <seqan/modifier.h>
Signature | `void complement(sequence); void complement(stringSet);`

## Parameters

`stringSet` | The StringSet to complement.
`sequence` | The ContainerConcept to complement.

## Detailed Description

Complementing only works for alphabets where a `FunctorComplement<T>` is implemented. SeqAn comes with such definitions for Dna, Dna5, Rna, Rna5.

## Data Races

If not stated otherwise, concurrent invocation is not guaranteed to be thread-safe.

#### Dox Sources

    /*!
     * @fn complement
     *
     * @headerfile <seqan/modifier.h>
     *
     * @brief Complement a sequence or a StringSet in-place.
     *
     * @signature void complement(sequence);
     * @signature void complement(stringSet);
     *
     * @param[in,out] stringSet The StringSet to complement.
     * @param[in,out] sequence The ContainerConcept to complement.
     *
     * Complementing only works for alphabets where a
     * <tt>FunctorComplement&lt;T&gt;</tt> is implemented. SeqAn comes with such
     * definitions for Dna, Dna5, Rna, Rna5.
     */