18 #if SEQAN3_WORKAROUND_ISSUE_286
23 namespace seqan3::detail
36 template <
typename pairwise_alignment_t>
37 SEQAN3_CONCEPT pairwise_alignment =
39 #if SEQAN3_WORKAROUND_ISSUE_286
42 transfer_type_modifier_onto_t<
44 std::tuple_element_t<0, std::remove_cvref_t<pairwise_alignment_t>>
49 transfer_type_modifier_onto_t<
51 std::tuple_element_t<1, std::remove_cvref_t<pairwise_alignment_t>>
71 template <
typename pairwise_alignment_t>
72 SEQAN3_CONCEPT writable_pairwise_alignment =
73 pairwise_alignment<pairwise_alignment_t> &&
74 #if SEQAN3_WORKAROUND_ISSUE_286
77 transfer_type_modifier_onto_t<
79 std::tuple_element_t<0, std::remove_cvref_t<pairwise_alignment_t>>
84 transfer_type_modifier_onto_t<
86 std::tuple_element_t<1, std::remove_cvref_t<pairwise_alignment_t>>
Includes the aligned_sequence and the related insert_gap and erase_gap functions to enable stl contai...
The generic concept for an aligned sequence.
Whether a type behaves like a tuple with exactly two elements.
The generic concept for an aligned sequence that is writable.
Provides type traits seqan3::detail::transfer_type_modifier_onto.
Provides seqan3::tuple_like.