Loading...
Searching...
No Matches
seqan3::phred_base< derived_type, size > Class Template Reference

A CRTP-base that refines seqan3::alphabet_base and is used by the quality alphabets. More...

`#include <seqan3/alphabet/quality/phred_base.hpp>`

Inheritance diagram for seqan3::phred_base< derived_type, size >:
[legend]

## Public Types

Member types
using | phred_type = int8_t
| The integer representation of the quality score.

## Public Member Functions

Read functions
constexpr phred_type | to_phred () const noexcept
| Return the alphabet's value in Phred score representation.
Write functions
constexpr derived_type & | assign_phred (phred_type const p) noexcept
| Assign from the numeric Phred score value.
Public Member Functions inherited from seqan3::alphabet_base< derived_type, size, char >
constexpr | alphabet_base () noexcept=default
| Defaulted.
constexpr | alphabet_base (alphabet_base const &) noexcept=default
| Defaulted.
constexpr | alphabet_base (alphabet_base &&) noexcept=default
| Defaulted.
constexpr alphabet_base & | operator= (alphabet_base const &) noexcept=default
| Defaulted.
constexpr alphabet_base & | operator= (alphabet_base &&) noexcept=default
| Defaulted.
| ~alphabet_base () noexcept=default
| Defaulted.
constexpr char_type | to_char () const noexcept
| Return the letter as a character of char_type.
constexpr rank_type | to_rank () const noexcept
| Return the letter's numeric value (rank in the alphabet).
constexpr derived_type & | assign_char (char_type const chr) noexcept
| Assign from a character, implicitly converts invalid characters.
constexpr derived_type & | assign_rank (rank_type const c) noexcept
| Assign from a numeric value.

## Constructors, destructor and assignment

template<typename other_qual_type> requires (!std::same_as<phred_base, other_qual_type>) && (!std::same_as<derived_type, other_qual_type>) && quality_alphabet<other_qual_type>
constexpr | phred_base (other_qual_type const &other) noexcept
| Allow explicit construction from any other quality type by means of the Phred score representation.
constexpr derived_type & | assign_rank (rank_type const c) noexcept
| Assign from a numeric value.
constexpr rank_type | to_rank () const noexcept
| Return the letter's numeric value (rank in the alphabet).
static constexpr detail::min_viable_uint_t< size > | alphabet_size
| The size of the alphabet, i.e. the number of different values it can take.

## Additional Inherited Members

Static Public Attributes inherited from seqan3::alphabet_base< derived_type, size, char >
static constexpr detail::min_viable_uint_t< size > | alphabet_size
| The size of the alphabet, i.e. the number of different values it can take.
Protected Types inherited from seqan3::alphabet_base< derived_type, size, char >
using | char_type
| The char representation; conditional needed to make semi alphabet definitions legal.
using | rank_type
| The type of the alphabet when represented as a number (e.g. via to_rank()).

## Detailed Description

template<typename derived_type, size_t size>
class seqan3::phred_base< derived_type, size >

A CRTP-base that refines seqan3::alphabet_base and is used by the quality alphabets.

Template Parameters

  derived_type | The CRTP parameter type.
  size | The size of the alphabet.

This entity is stable. Since version 3.1.

## Member Typedef Documentation

## phred_type

template<typename derived_type, size_t size>

using seqan3::phred_base< derived_type, size >::phred_type = int8_t

The integer representation of the quality score.

This entity is stable. Since version 3.1.

## Constructor & Destructor Documentation

## phred_base()

template<typename derived_type, size_t size>
template<typename other_qual_type>
requires (!std::same_as<phred_base, other_qual_type>) && (!std::same_as<derived_type, other_qual_type>) && quality_alphabet<other_qual_type>

seqan3::phred_base< derived_type, size >::phred_base | ( | other_qual_type const & | other | ) |

inline explicit constexpr noexcept

Allow explicit construction from any other quality type by means of the Phred score representation.

This entity is experimental and subject to change in the future. Experimental since version 3.1.

## Member Function Documentation

## assign_phred()

template<typename derived_type, size_t size>

derived_type & seqan3::phred_base< derived_type, size >::assign_phred | ( | phred_type const | p | ) |

inline constexpr noexcept

Assign from the numeric Phred score value.

Satisfies the seqan3::writable_quality_alphabet requirement via the seqan3::assign_rank_to() wrapper.

See also
  quality

### Complexity

Constant.

This entity is stable. Since version 3.1.

## assign_rank()

template<typename derived_type, size_t size>

derived_type & seqan3::alphabet_base< derived_type, size, char >::assign_rank | ( | rank_type const | c | ) |

inline constexpr noexcept

Assign from a numeric value.

Parameters

  c | The rank to be assigned.

Provides an implementation for seqan3::assign_rank_to, required to model seqan3::semialphabet.

### Complexity

Constant.

### Exceptions

Guaranteed not to throw.

This entity is stable. Since version 3.1.

## to_phred()

template<typename derived_type, size_t size>

phred_type seqan3::phred_base< derived_type, size >::to_phred | ( |  | ) | const

inline constexpr noexcept

Return the alphabet's value in Phred score representation.

See also
  quality

This entity is stable. Since version 3.1.

## to_rank()

template<typename derived_type, size_t size>

rank_type seqan3::alphabet_base< derived_type, size, char >::to_rank | ( |  | ) | const

inline constexpr noexcept

Return the letter's numeric value (rank in the alphabet).

Provides an implementation for seqan3::to_rank, required to model seqan3::semialphabet.

### Complexity

Constant.

### Exceptions

Guaranteed not to throw.

This entity is stable. Since version 3.1.

## Member Data Documentation

## alphabet_size

template<typename derived_type, size_t size>

detail::min_viable_uint_t<size> seqan3::alphabet_base< derived_type, size, char >::alphabet_size

static constexpr

The size of the alphabet, i.e. the number of different values it can take.

This entity is stable. Since version 3.1.

The documentation for this class was generated from the following file:

- phred_base.hpp

Hide me