SeqAn3 3.4.0-rc.3
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 = 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)),
65
66 { scheme.score(alphabet_t{}, alphabet2_t{}) };
67 requires std::common_reference_with<decltype(scheme.score(alphabet_t{}, alphabet2_t{})),
69};
71
72} // 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