SeqAn3  3.0.0
The Modern C++ library for sequence analysis.
uint.hpp File Reference

Provides alphabet adaptations for standard uint types. More...

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

Go to the source code of this file.

Namespaces

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

Functions

Free function wrappers for the uint alphabet adaptation

For uint8_t, uint16_t and uint32_t do conversion to/from char types.

template<typename uint_type >
constexpr auto seqan3::custom::alphabet_size (uint_type const &intgr) noexcept
 Return the number of values the uint type can take. More...
 
template<typename uint_type >
constexpr auto seqan3::custom::to_char (uint_type const intgr) noexcept
 Converting uint to char casts to a character type of same size. More...
 
template<typename uint_type >
constexpr uint_type seqan3::custom::to_rank (uint_type const intgr) noexcept
 Converting uint to rank is a no-op (it will just return the value you pass in). More...
 
template<typename uint_type >
constexpr uint_type & seqan3::custom::assign_char_to (decltype(to_char(uint_type{})) const chr, uint_type &intgr) noexcept
 Assign from a character type via implicit or explicit cast. More...
 
template<typename uint_type >
constexpr uint_type & seqan3::custom::assign_rank_to (uint_type const intgr2, uint_type &intgr) noexcept
 Assign a rank to to the uint (same as calling =). More...
 

Detailed Description

Provides alphabet adaptations for standard uint types.

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

This file provides function and type trait overloads so that the following types fulfil the seqan3::Alphabet:

  • uint8_t
  • uint16_t
  • uint32_t

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_t is absent from the list, because there is no corresponding character type.