SeqAn3
seqan3::uint_adaptation_concept Interface Reference

A concept that covers uint type adaptations for seqan3::alphabet_concept. More...

#include <seqan3/alphabet/adaptation/concept.hpp>

Inheritance diagram for seqan3::uint_adaptation_concept:
[legend]

Related Functions

(Note that these are not member 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 underlying_char_t< uint_type > to_char (uint_type const intgr) requires detail
 Converting uint to char casts to a character type of same size. More...
 
template<typename uint_type >
constexpr underlying_rank_t< uint_type > to_rank (uint_type const intgr) requires detail
 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 & assign_char (uint_type &intgr, underlying_char_t< uint_type > const chr) requires detail
 Assign from a character type via implicit or explicit cast. More...
 
template<typename uint_type >
constexpr uint_type && assign_char (uint_type &&intgr, underlying_char_t< uint_type > const chr) requires detail
 Assign from a character type via implicit or explicit cast. More...
 
template<typename uint_type >
constexpr uint_type & assign_rank (uint_type &intgr, underlying_rank_t< uint_type > const intgr2) requires detail
 Assign a rank to to the uint (same as calling =). More...
 
template<typename uint_type >
constexpr uint_type && assign_rank (uint_type &&intgr, underlying_rank_t< uint_type > const intgr2) requires detail
 Assign a rank to to the uint (same as calling =). More...
 
Requirements for seqan3::alphabet_concept

You can expect these functions on all types that implement seqan3::alphabet_concept.

template<typename alphabet_type >
using underlying_char_t = typename underlying_char< alphabet_type >::type
 The char_type of the alphabet. [type metafunction shortcut]. More...
 
char_type to_char (alphabet_concept const alph)
 Returns the alphabet letter's value in character representation. More...
 
alphabet_concept && assign_char (alphabet_concept &&alph, char_type const chr)
 Returns the alphabet letter's value in character representation. More...
 
Requirements for seqan3::semi_alphabet_concept

You can expect these functions on all types that implement seqan3::semi_alphabet_concept.

template<typename semi_alphabet_type >
using underlying_rank_t = typename underlying_rank< semi_alphabet_type >::type
 The rank_type of the semi_alphabet. [type metafunction shortcut]. More...
 
template<typename alphabet_type >
constexpr auto alphabet_size_v = alphabet_size<alphabet_type>::value
 The size of the alphabet. [value metafunction shortcut]. More...
 
rank_type to_rank (semi_alphabet_concept const alph)
 Returns the alphabet letter's value in rank representation. More...
 
semi_alphabet_concept && assign_rank (semi_alphabet_concept &&alph, rank_type const rank)
 Returns the alphabet letter's value in rank representation. More...
 
Requirements for std::Swappable

You can expect these functions on all types that implement std::Swappable.

void swap (t &lhs, t &rhs)
 Swaps the contents of two objects. More...
 
Requirements for std::EqualityComparable

You can expect these functions on all types that implement std::Equality_comparable.

bool operator== (type const &lhs, type const &rhs)
 (In-)Equality comparison. More...
 
bool operator!= (type const &lhs, type const &rhs)
 (In-)Equality comparison. More...
 
Requirements for std::StrictTotallyOrdered

You can expect these functions on all types that implement std::StrictTotallyOrdered.

bool operator< (type const &lhs, type const &rhs)
 Less-than, greater-than and -or-equal comparisons. More...
 
bool operator<= (type const &lhs, type const &rhs)
 Less-than, greater-than and -or-equal comparisons. More...
 
bool operator> (type const &lhs, type const &rhs)
 Less-than, greater-than and -or-equal comparisons. More...
 
bool operator>= (type const &lhs, type const &rhs)
 Less-than, greater-than and -or-equal comparisons. More...
 

Detailed Description

A concept that covers uint type adaptations for seqan3::alphabet_concept.

This concept introduces no formal requirements beyond those of seqan3::alphabet_concept and type being one of the following types:

  • uint8_t
  • uint16_t
  • uint32_t
Attention
Note that uint64_t is absent from the list, because there is no corresponding character type.
Please be aware that this file needs be included after alphabet/adaptation/uint.hpp.
Concepts and doxygen
The requirements for this concept are given as related functions and metafunctions. Types that satisfy this concept are shown as "implementing this interface".

The documentation for this interface was generated from the following files: