SeqAn3 3.4.0-rc.1
The Modern C++ library for sequence analysis.
Loading...
Searching...
No Matches
concept.hpp File Reference

Core alphabet concept and free function/type trait wrappers. More...

+ Include dependency graph for alphabet/concept.hpp:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  seqan3::custom::alphabet< t >
 A type that can be specialised to provide customisation point implementations so that third party types model alphabet concepts. More...
 
struct  seqan3::detail::adl_only::alphabet_size_cpo< alphabet_t >
 seqan3::detail::customisation_point_object (CPO) definition for seqan3::alphabet_size. More...
 
struct  seqan3::detail::adl_only::assign_char_strictly_to_fn
 Function object definition for seqan3::assign_char_strictly_to. More...
 
struct  seqan3::detail::adl_only::assign_char_to_cpo
 seqan3::detail::customisation_point_object (CPO) definition for seqan3::assign_char_to. More...
 
struct  seqan3::detail::adl_only::assign_rank_to_cpo
 seqan3::detail::customisation_point_object (CPO) definition for seqan3::assign_rank_to. More...
 
struct  seqan3::detail::adl_only::char_is_valid_for_cpo< alphabet_t >
 seqan3::detail::customisation_point_object (CPO) definition for seqan3::char_is_valid_for. More...
 
struct  seqan3::detail::adl_only::to_char_cpo
 seqan3::detail::customisation_point_object (CPO) definition for seqan3::to_char. More...
 
struct  seqan3::detail::adl_only::to_rank_cpo
 seqan3::detail::customisation_point_object (CPO) definition for seqan3::to_rank. More...
 

Namespaces

namespace  seqan3
 The main SeqAn3 namespace.
 
namespace  seqan3::custom
 A namespace for third party and standard library specialisations of SeqAn customisation points.
 
namespace  seqan3::detail
 The internal SeqAn3 namespace.
 

Typedefs

template<typename alphabet_type >
using seqan3::alphabet_char_t = decltype(seqan3::to_char(std::declval< alphabet_type const >()))
 The char_type of the alphabet; defined as the return type of seqan3::to_char.
 
template<typename semi_alphabet_type >
using seqan3::alphabet_rank_t = decltype(seqan3::to_rank(std::declval< semi_alphabet_type >()))
 The rank_type of the semi-alphabet; defined as the return type of seqan3::to_rank. !
 

Functions

template<typename... args_t>
void seqan3::detail::adl_only::alphabet_size (args_t...)=delete
 Poison-pill overload to prevent non-ADL forms of unqualified lookup.
 
template<typename... args_t>
void seqan3::detail::adl_only::assign_char_to (args_t...)=delete
 Poison-pill overload to prevent non-ADL forms of unqualified lookup.
 
template<typename... args_t>
void seqan3::detail::adl_only::assign_rank_to (args_t...)=delete
 Poison-pill overload to prevent non-ADL forms of unqualified lookup.
 
template<typename... args_t>
void seqan3::detail::adl_only::char_is_valid_for (args_t...)=delete
 Poison-pill overload to prevent non-ADL forms of unqualified lookup.
 
template<typename... args_t>
void seqan3::detail::adl_only::to_char (args_t...)=delete
 Poison-pill overload to prevent non-ADL forms of unqualified lookup.
 
template<typename... args_t>
void seqan3::detail::adl_only::to_rank (args_t...)=delete
 Poison-pill overload to prevent non-ADL forms of unqualified lookup.
 

Variables

template<typename alph_t >
constexpr auto seqan3::alphabet_size = detail::adl_only::alphabet_size_cpo<alph_t>{}()
 A type trait that holds the size of a (semi-)alphabet.
 
Function objects
constexpr auto seqan3::assign_char_strictly_to = detail::adl_only::assign_char_strictly_to_fn{}
 Assign a character to an alphabet object, throw if the character is not valid.
 
constexpr auto seqan3::assign_char_to = detail::adl_only::assign_char_to_cpo{}
 Assign a character to an alphabet object.
 
constexpr auto seqan3::assign_rank_to = detail::adl_only::assign_rank_to_cpo{}
 Assign a rank to an alphabet object.
 
template<typename alph_t >
constexpr auto seqan3::char_is_valid_for = detail::adl_only::char_is_valid_for_cpo<alph_t>{}
 Returns whether a character is in the valid set of a seqan3::alphabet (usually implies a bijective mapping to an alphabet value).
 
constexpr auto seqan3::to_char = detail::adl_only::to_char_cpo{}
 Return the char representation of an alphabet object.
 
constexpr auto seqan3::to_rank = detail::adl_only::to_rank_cpo{}
 Return the rank representation of a (semi-)alphabet object.
 

Detailed Description

Core alphabet concept and free function/type trait wrappers.

Author
Hannes Hauswedell <hannes.hauswedell AT fu-berlin.de>
Hide me