SeqAn3 3.4.0
The Modern C++ library for sequence analysis.
Loading...
Searching...
No Matches
pairwise_alignment_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 <tuple>
13
16
17namespace seqan3::detail
18{
19
30template <typename pairwise_alignment_t>
31concept pairwise_alignment = pair_like<pairwise_alignment_t>
32 && aligned_sequence<std::tuple_element_t<0, std::remove_reference_t<pairwise_alignment_t>>>
33 && aligned_sequence<std::tuple_element_t<1, std::remove_reference_t<pairwise_alignment_t>>>;
35
46template <typename pairwise_alignment_t>
47concept writable_pairwise_alignment =
48 pairwise_alignment<pairwise_alignment_t>
49 && writable_aligned_sequence<std::tuple_element_t<0, std::remove_reference_t<pairwise_alignment_t>>>
50 && writable_aligned_sequence<std::tuple_element_t<1, std::remove_reference_t<pairwise_alignment_t>>>;
52
53} // namespace seqan3::detail
Includes the aligned_sequence and the related insert_gap and erase_gap functions to enable stl contai...
Provides seqan3::tuple_like.
Hide me