Loading...
Searching...
No Matches
pairwise_alignment_concept.hpp
Go to the documentation of this file.
// SPDX-FileCopyrightText: 2006-2025 Knut Reinert & Freie Universität Berlin
// SPDX-FileCopyrightText: 2016-2025 Knut Reinert & MPI für molekulare Genetik
// SPDX-License-Identifier: BSD-3-Clause
#pragma once
#include <tuple>
#include <seqan3/alignment/aligned_sequence/aligned_sequence_concept.hpp>
#include <seqan3/utility/tuple/concept.hpp>
namespace seqan3::detail
{
template <typename pairwise_alignment_t>
concept pairwise_alignment = pair_like<pairwise_alignment_t>
&& aligned_sequence<std::tuple_element_t<0, std::remove_reference_t<pairwise_alignment_t>>>
&& aligned_sequence<std::tuple_element_t<1, std::remove_reference_t<pairwise_alignment_t>>>;
template <typename pairwise_alignment_t>
concept writable_pairwise_alignment =
pairwise_alignment<pairwise_alignment_t>
&& writable_aligned_sequence<std::tuple_element_t<0, std::remove_reference_t<pairwise_alignment_t>>>
&& writable_aligned_sequence<std::tuple_element_t<1, std::remove_reference_t<pairwise_alignment_t>>>;
} // namespace seqan3::detail
aligned_sequence_concept.hpp
Includes the aligned_sequence and the related insert_gap and erase_gap functions to enable stl contai...
tuple
concept.hpp
Provides seqan3::tuple_like.
Hide me