SeqAn3 3.4.0-rc.1
The Modern C++ library for sequence analysis.
Loading...
Searching...
No Matches
scoring_scheme_concept.hpp
Go to the documentation of this file.
1// SPDX-FileCopyrightText: 2006-2024 Knut Reinert & Freie Universität Berlin
2// SPDX-FileCopyrightText: 2016-2024 Knut Reinert & MPI für molekulare Genetik
3// SPDX-License-Identifier: BSD-3-Clause
4
10#pragma once
11
13
14namespace seqan3
15{
16
55
57template <typename t, typename alphabet_t, typename alphabet2_t = alphabet_t>
58concept scoring_scheme_for =
59 requires (t scheme, alphabet_t const alph1, alphabet2_t const alph2) {
60 requires alphabet<alphabet_t>;
61 requires alphabet<alphabet2_t>;
62
63 {
64 scheme.score(alph1, alph2)
65 };
66 requires std::common_reference_with<decltype(scheme.score(alph1, alph2)),
68
69 {
70 scheme.score(alphabet_t{}, alphabet2_t{})
71 };
72 requires std::common_reference_with<decltype(scheme.score(alphabet_t{}, alphabet2_t{})),
74 };
76
77} // namespace seqan3
Core alphabet concept and free function/type trait wrappers.
The generic alphabet concept that covers most data types used in ranges.
A concept that requires that type be able to score two letters.
The main SeqAn3 namespace.
Definition aligned_sequence_concept.hpp:26
Hide me