SeqAn3 3.4.0-rc.1
The Modern C++ library for sequence analysis.
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 >:

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_baseoperator= (alphabet_base const &) noexcept=default
 Defaulted.
 
constexpr alphabet_baseoperator= (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.
 

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 = std::conditional_t< std::same_as< char, void >, char, char >
 The char representation; conditional needed to make semi alphabet definitions legal.
 
using rank_type = detail::min_viable_uint_t< size - 1 >
 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_typeThe CRTP parameter type.
sizeThe 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>
constexpr seqan3::phred_base< derived_type, size >::phred_base ( other_qual_type const &  other)
inlineexplicitconstexprnoexcept

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>
constexpr derived_type & seqan3::phred_base< derived_type, size >::assign_phred ( phred_type const  p)
inlineconstexprnoexcept

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.

◆ to_phred()

template<typename derived_type , size_t size>
constexpr phred_type seqan3::phred_base< derived_type, size >::to_phred ( ) const
inlineconstexprnoexcept

Return the alphabet's value in Phred score representation.

See also
quality

This entity is stable. Since version 3.1.


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