Loading...
Searching...
No Matches
Composite
Alphabet

Provides templates for combining existing alphabets into new alphabet types. More...

Collaboration diagram for Composite:

## Classes

class | seqan3::alphabet_tuple_base< derived_type, component_types >
| The CRTP base for a combined alphabet that contains multiple values of different alphabets at the same time.. More...
class | seqan3::alphabet_variant< alternative_types >
| A combined alphabet that can hold values of either of its alternatives.. More...
class | seqan3::semialphabet_any< size >
| A semi-alphabet that type erases all other semi-alphabets of the same size. More...
struct | std::tuple_element< i, tuple_t >
| Obtains the type of the specified element. More...
struct | std::tuple_size< tuple_t >
| Provides access to the number of elements in a tuple as a compile-time constant expression. More...

## Detailed Description

Provides templates for combining existing alphabets into new alphabet types.

See also
  alphabet

### Introduction

This module provides various class templates that allow you to combine existing alphabets into new ones. For example, you can add new characters to existing alphabets by using seqan3::alphabet_variant or combine alphabets with quality information by using seqan3::alphabet_tuple_base.

We have currently three major composite alphabets:

- seqan3::alphabet_tuple_base which can be used to create a std::tuple like object that still models seqan3::alphabet.
- seqan3::alphabet_variant which roughly corresponds to the Union of the given types. It behaves similar to std::variant, but also models seqan3::alphabet.
- seqan3::semialphabet_any which type erases other alphabets of the same size and allows again transformation to alphabets of the same size by copying the rank.

Hide me