Alphabet¶
Meta-header for the alphabet module.
- Author
- Hannes Hauswedell <hannes.hauswedell AT fu-berlin.de>
Core alphabet concept and free function/metafunction wrappers.
- Author
- Hannes Hauswedell <hannes.hauswedell AT fu-berlin.de>
Defines
-
SEQAN3_ALPHABET_CONCEPT_INCLUDED¶
-
namespace
seqan3¶ The main SeqAn3 namespace.
Helpers for seqan3::semi_alphabet_concept
These functions and metafunctions expose member variables and types so that they satisfy seqan3::semi_alphabet_concept.
Helpers for seqan3::alphabet_concept
These functions and metafunctions expose member variables and types so that they satisfy seqan3::alphabet_concept.
Helpers for seqan3::nucleotide_concept
These functions and metafunctions expose member variables and types so that they satisfy seqan3::nucleotide_concept.
Alphabet aliases
Other names (typedefs) for seqan3::nucl16
Range concepts
Adapted from the Ranges TS.
Container concepts
Container concepts as defined by the standard library (or very close).
Container-of-container concepts
Shortcuts for multi-dimensional container concepts.
seqan3::alphabet_concept metafunction base classes.
Note that you need to strictly follow this include order:
#include <alphabet/concept_pre.hpp>
// your custom alphabet
#include <alphabet/concept.hpp>
- Author
- Hannes Hauswedell <hannes.hauswedell AT fu-berlin.de> Include this file, if you implement an alphabet type with free/global function and metafunction interfaces.
- Attention
If you include concept.hpp before your definitions, than your type will not be resolved as satisfying seqan3::alphabet_concept.
This is not true for custom alphabets implementing the interfaces as member functions/variables/types.
-
namespace
seqan3¶ The main SeqAn3 namespace.
Helpers for seqan3::semi_alphabet_concept
These functions and metafunctions expose member variables and types so that they satisfy seqan3::semi_alphabet_concept.
Helpers for seqan3::alphabet_concept
These functions and metafunctions expose member variables and types so that they satisfy seqan3::alphabet_concept.
Helpers for seqan3::nucleotide_concept
These functions and metafunctions expose member variables and types so that they satisfy seqan3::nucleotide_concept.
Alphabet aliases
Other names (typedefs) for seqan3::nucl16
Range concepts
Adapted from the Ranges TS.
Container concepts
Container concepts as defined by the standard library (or very close).
Container-of-container concepts
Shortcuts for multi-dimensional container concepts.
- template <typename alphabet_type>
-
struct
alphabet_size¶ - #include <alphabet/concept_pre.hpp>
The size of the alphabet. [value metafunction base template].
Instead of calling seqan3::alphabet_size<alphabet_type>::value, you may use seqan3::alphabet_size_v<alphabet_type>.
- Template Parameters
alphabet_type: Must satisfy seqan3::semi_alphabet_concept.
This is the expression to retrieve the value:
The type of the variable is seqan3::underlying_rank_t<alphabet_type>.auto i = seqan3::alphabet_size<alphabet_type>::value; // or auto i = seqan3::alphabet_size_v<alphabet_type>;
- Attention
- This is the base template, it needss to be specialised.
- template <typename alphabet_type>
-
struct
underlying_char¶ - #include <alphabet/concept_pre.hpp>
The
char_typeof the alphabet. [type metafunction base template].Instead of calling
typename seqan3::underlying_char<alphabet_type>::typeit is recommended to just the shortcut: seqan3::underlying_char_t- Template Parameters
alphabet_type: Must satisfy seqan3::alphabet_concept.
- Attention
- This is the base template, it needss to be specialised.
- template <typename semi_alphabet_type>
-
struct
underlying_rank¶ - #include <alphabet/concept_pre.hpp>
The
rank_typeof the semi_alphabet. [type metafunction base template].Instead of calling
typename seqan3::underlying_rank<semi_alphabet_type>::typeit is recommended to just the shortcut: seqan3::underlying_rank_t<>- Template Parameters
semi_alphabet_type: Must satisfy seqan3::semi_alphabet_concept.
- Attention
- This is the base template, it needss to be specialised.