Loading...
Searching...
No Matches
concept.hpp File Reference

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

`#include <type_traits>`
`#include <seqan3/alphabet/exception.hpp>`
`#include <seqan3/core/concept/cereal.hpp>`
`#include <seqan3/core/detail/customisation_point.hpp>`
`#include <seqan3/utility/concept.hpp>`
`#include <seqan3/utility/detail/type_name_as_string.hpp>`
`#include <seqan3/utility/type_traits/basic.hpp>`
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...

## Namespaces

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

## 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. !

## 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