SeqAn3
3.4.0
The Modern C++ library for sequence analysis.
Toggle main menu visibility
Loading...
Searching...
No Matches
phred94.hpp
Go to the documentation of this file.
1
// SPDX-FileCopyrightText: 2006-2025 Knut Reinert & Freie Universität Berlin
2
// SPDX-FileCopyrightText: 2016-2025 Knut Reinert & MPI für molekulare Genetik
3
// SPDX-License-Identifier: BSD-3-Clause
4
9
10
#pragma once
11
12
#include <
seqan3/alphabet/quality/phred_base.hpp
>
13
14
namespace
seqan3
15
{
16
40
class
phred94
:
public
phred_base<phred94, 94>
41
{
42
private
:
44
using
base_t = phred_base<phred94, 94>;
45
47
friend
base_t;
50
friend
base_t::base_t;
52
53
public
:
57
constexpr
phred94
() noexcept = default;
58
constexpr
phred94
(
phred94
const &) noexcept = default;
59
constexpr
phred94
(
phred94
&&) noexcept = default;
60
constexpr
phred94
& operator=(
phred94
const &) noexcept = default;
61
constexpr
phred94
& operator=(
phred94
&&) noexcept = default;
62
~
phred94
() noexcept = default;
63
64
// Inherit converting constructor
65
using base_t::base_t;
67
75
static constexpr
phred_type
offset_phred
{0};
76
81
static
constexpr
char_type
offset_char
{
'!'
};
83
};
84
85
inline
namespace
literals
86
{
87
101
constexpr
phred94
operator
""
_phred94(
char
const
c)
noexcept
102
{
103
return
phred94
{}.assign_char(c);
104
}
105
117
SEQAN3_WORKAROUND_LITERAL
std::vector<phred94>
operator
""
_phred94(
char
const
* s,
std::size_t
n)
118
{
119
std::vector<phred94>
r;
120
r.
resize
(n);
121
122
for
(
size_t
i = 0; i < n; ++i)
123
r[i].
assign_char
(s[i]);
124
125
return
r;
126
}
127
128
129
}
// namespace literals
130
131
}
// namespace seqan3
seqan3::alphabet_base::assign_char
constexpr derived_type & assign_char(char_type const chr) noexcept
Assign from a character, implicitly converts invalid characters.
Definition
alphabet_base.hpp:160
seqan3::alphabet_base::char_type
std::conditional_t< std::same_as< char_t, void >, char, char_t > char_type
The char representation; conditional needed to make semi alphabet definitions legal.
Definition
alphabet_base.hpp:69
seqan3::phred94::offset_char
static constexpr char_type offset_char
The projection offset between char and rank score representation.
Definition
phred94.hpp:81
seqan3::phred94::offset_phred
static constexpr phred_type offset_phred
The projection offset between Phred and rank score representation.
Definition
phred94.hpp:75
seqan3::phred94::phred94
constexpr phred94() noexcept=default
Defaulted.
seqan3::phred_base< phred94, 94 >::phred_type
int8_t phred_type
Definition
phred_base.hpp:39
seqan3
The main SeqAn3 namespace.
Definition
aligned_sequence_concept.hpp:26
phred_base.hpp
Provides seqan3::phred42 quality scores.
SEQAN3_WORKAROUND_LITERAL
#define SEQAN3_WORKAROUND_LITERAL
Our char literals returning std::vector should be constexpr if constexpr std::vector is supported.
Definition
platform.hpp:310
std::vector::resize
T resize(T... args)
std::size_t
std::vector
Hide me
Version:
seqan3
alphabet
quality
phred94.hpp
Generated on
for SeqAn3 by
1.17.0