SeqAn3
3.4.0
The Modern C++ library for sequence analysis.
Toggle main menu visibility
Loading...
Searching...
No Matches
phred63.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
43
class
phred63
:
public
phred_base<phred63, 63>
44
{
45
private
:
47
using
base_t = phred_base<phred63, 63>;
48
50
friend
base_t;
53
friend
base_t::base_t;
55
56
public
:
60
constexpr
phred63
() noexcept = default;
61
constexpr
phred63
(
phred63
const &) noexcept = default;
62
constexpr
phred63
(
phred63
&&) noexcept = default;
63
constexpr
phred63
& operator=(
phred63
const &) noexcept = default;
64
constexpr
phred63
& operator=(
phred63
&&) noexcept = default;
65
~
phred63
() noexcept = default;
66
67
// Inherit converting constructor
68
using base_t::base_t;
70
78
static constexpr
phred_type
offset_phred
{0};
79
84
static
constexpr
char_type
offset_char
{
'!'
};
86
};
87
88
inline
namespace
literals
89
{
90
104
constexpr
phred63
operator
""
_phred63(
char
const
c)
noexcept
105
{
106
return
phred63
{}.assign_char(c);
107
}
108
120
SEQAN3_WORKAROUND_LITERAL
std::vector<phred63>
operator
""
_phred63(
char
const
* s,
std::size_t
n)
121
{
122
std::vector<phred63>
r;
123
r.
resize
(n);
124
125
for
(
size_t
i = 0; i < n; ++i)
126
r[i].
assign_char
(s[i]);
127
128
return
r;
129
}
130
131
132
}
// namespace literals
133
134
}
// 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::phred63::offset_char
static constexpr char_type offset_char
The projection offset between char and rank score representation.
Definition
phred63.hpp:84
seqan3::phred63::offset_phred
static constexpr phred_type offset_phred
The projection offset between Phred and rank score representation.
Definition
phred63.hpp:78
seqan3::phred63::phred63
constexpr phred63() noexcept=default
Defaulted.
seqan3::phred_base< phred63, 63 >::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
phred63.hpp
Generated on
for SeqAn3 by
1.17.0