Adaptation¶
Meta-header for the adaptation submodule; includes all headers from alphabet/adaptation/.
- Author
- Hannes Hauswedell <hannes.hauswedell AT fu-berlin.de>
Provides alphabet adaptations for standard char types.
This file provides function and metafunction overloads so that the following types fulfil the seqan3::alphabet_concept:
charchar16_tchar32_t
- Author
- Hannes Hauswedell <hannes.hauswedell AT fu-berlin.de>
You will likely not use these interfaces directly, they are, however, very helpful for conversions between other alphabets and between other alphabets and characters.
- Attention
- Note that
signed charandunsigned charare absent from the list, because of their type ambiguity withint8_tanduint8_t. - Note that
wchar_tis absent from the list for its notorious brokenness (different sizes and signedness between platforms); usechar16_torchar32_tinstead.
- Note that
- Attention
- Please be aware that if you also include
alphabet/concept.hppand/oralphabet/adaptation/concept.hpp, you need to do so after including this file, not before.
-
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 char_type>
-
template<>
structalphabet_size<char_type>¶ - #include <alphabet/adaptation/char.hpp>
Specialisation of seqan3::alphabet_size that delegates for char types.
- See
- seqan3::alphabet_size_v
- Template Parameters
char_type: One ofchar,char16_torchar32_t.
Public Types
-
using
seqan3::alphabet_size< char_type >::type = detail::min_viable_uint_t<static_cast<uint64_t>(std::numeric_limits<char_type>::max()) + 1 - std::numeric_limits<char_type>::lowest()> Smallest unsigned integral type that can hold value;.
- template <typename char_type>
-
template<>
structunderlying_char<char_type>¶ - #include <alphabet/adaptation/char.hpp>
Specialisation of seqan3::underlying_char for char types.
- See
- seqan3::underlying_char_t
- Template Parameters
char_type: One ofchar,char16_torchar32_t.
Public Types
-
template<>
usingtype= char_type¶ The same type as char_type.
- template <typename char_type>
-
template<>
structunderlying_rank<char_type>¶ - #include <alphabet/adaptation/char.hpp>
Specialisation of seqan3::underlying_rank for char types.
- See
- seqan3::underlying_rank_t
- Template Parameters
char_type: One ofchar,char16_torchar32_t.
Public Types
-
template<>
usingtype= meta::at<detail::char_adaptations_rank_types, meta::find_index<detail::char_adaptations, char_type>>¶ An unsigned integer type of the same size as
char_type.
Provides seqan3::char_adaptation_concept and seqan3::uint_adaptation_concept.
- Author
- Hannes Hauswedell <hannes.hauswedell AT fu-berlin.de>
-
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.
Provides alphabet adaptations for standard uint types.
This file provides function and metafunction overloads so that the following types fulfil the seqan3::alphabet_concept:
uint8_tuint16_tuint32_t
- Author
- Hannes Hauswedell <hannes.hauswedell AT fu-berlin.de>
You will likely not use these interfaces directly, they are, however, very helpful for conversions between other alphabets and between other alphabets and characters.
- Attention
- Note that
uint64_tis absent from the list, because there is no corresponding character type. - Attention
- Please be aware that if you also include
alphabet/concept.hppand/oralphabet/adaptation/concept.hpp, you need to do so after including this file, not before.
-
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 uint_type>
-
template<>
structalphabet_size<uint_type>¶ - #include <alphabet/adaptation/uint.hpp>
Specialisation of seqan3::alphabet_size that delegates for uint types.
- See
- seqan3::alphabet_size_v
- Template Parameters
uint_type: One ofuint8_t,uint16_toruint32_t.
Public Types
-
using
seqan3::alphabet_size< uint_type >::type = detail::min_viable_uint_t<static_cast<uint64_t>(std::numeric_limits<uint_type>::max()) + 1 - std::numeric_limits<uint_type>::lowest()> Smallest unsigned integral type that can hold value;.
- template <typename uint_type>
-
template<>
structunderlying_char<uint_type>¶ - #include <alphabet/adaptation/uint.hpp>
Specialisation of seqan3::underlying_char for uint types.
- See
- seqan3::underlying_char_t
- Template Parameters
uint_type: One ofuint8_t,uint16_toruint32_t.
Public Types
-
template<>
usingtype= meta::at<detail::uint_adaptations_char_types, meta::find_index<detail::uint_adaptations, uint_type>>¶ The character type of the same size as
uint_type.
- template <typename uint_type>
-
template<>
structunderlying_rank<uint_type>¶ - #include <alphabet/adaptation/uint.hpp>
Specialisation of seqan3::underlying_rank for uint types.
- See
- seqan3::underlying_rank_t
- Template Parameters
uint_type: One ofuint8_t,uint16_toruint32_t.
Public Types
-
template<>
usingtype= uint_type¶ The same as
uint_type.