SeqAn3
3.4.0
The Modern C++ library for sequence analysis.
Toggle main menu visibility
Loading...
Searching...
No Matches
scoring_scheme_concept.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/concept.hpp
>
13
14
namespace
seqan3
15
{
16
36
44
55
57
template
<
typename
t,
typename
alphabet_t,
typename
alphabet2_t = alphabet_t>
58
concept
scoring_scheme_for
=
requires
(t scheme, alphabet_t
const
alph1, alphabet2_t
const
alph2) {
59
requires
alphabet<alphabet_t>
;
60
requires
alphabet<alphabet2_t>
;
61
62
{ scheme.score(alph1, alph2) };
63
requires
std::common_reference_with<
decltype
(scheme.score(alph1, alph2)),
64
typename
std::remove_reference_t<t>::score_type
>;
65
66
{ scheme.score(alphabet_t{}, alphabet2_t{}) };
67
requires
std::common_reference_with<
decltype
(scheme.score(alphabet_t{}, alphabet2_t{})),
68
typename
std::remove_reference_t<t>::score_type
>;
69
};
71
72
}
// namespace seqan3
concept.hpp
Core alphabet concept and free function/type trait wrappers.
alphabet
The generic alphabet concept that covers most data types used in ranges.
scoring_scheme_for
A concept that requires that type be able to score two letters.
seqan3
The main SeqAn3 namespace.
Definition
aligned_sequence_concept.hpp:26
std::remove_reference_t
Hide me
Version:
seqan3
alignment
scoring
scoring_scheme_concept.hpp
Generated on
for SeqAn3 by
1.17.0