17 #include <type_traits>
35 namespace seqan3::detail
43 template <std::ranges::forward_range first_range_t,
44 std::ranges::forward_range second_range_t,
45 typename configuration_t>
47 requires is_type_specialisation_of_v<std::remove_cvref_t<configuration_t>, configuration>
49 struct align_result_selector
53 using traits_type = alignment_configuration_traits<configuration_t>;
55 using score_type =
typename alignment_configuration_traits<
60 using debug_score_matrix_type = two_dimensional_matrix<std::optional<score_type>,
62 matrix_major_order::column>;
64 using debug_trace_matrix_type = two_dimensional_matrix<std::optional<trace_directions>,
66 matrix_major_order::column>;
70 using configured_end_position_type =
std::conditional_t<traits_type::compute_end_positions,
74 using configured_begin_position_type =
std::conditional_t<traits_type::compute_begin_positions,
78 using configured_alignment_type =
typename lazy_conditional_t<traits_type::compute_sequence_alignment,
79 lazy<make_pairwise_alignment_type,
91 debug_score_matrix_type,
95 using configured_debug_trace_matrix_type =
97 debug_trace_matrix_type,
102 using type = alignment_result_value_type<configured_sequence1_id_type,
103 configured_sequence2_id_type,
104 configured_score_type,
105 configured_end_position_type,
106 configured_begin_position_type,
107 configured_alignment_type,
108 configured_debug_score_matrix_type,
109 configured_debug_trace_matrix_type>;
Provides seqan3::align_cfg::detail::debug.
Provides seqan3::detail::aligned_sequence_builder.
Provides helper type traits for the configuration and execution of the alignment algorithm.
Provides seqan3::detail::alignment_coordinate.
Provides seqan3::configuration and utility functions.
Provides various transformation traits used by the range module.
Provides type traits for working with templates.
Provides seqan3::gap_decorator.
Provides lazy template instantiation traits.
Adaptations of concepts from the Ranges TS.
Provides the declaration of seqan3::detail::trace_directions.
Provides seqan3::detail::two_dimensional_matrix.
Provides seqan3::views::type_reduce.
Provides various type traits on generic types.