SeqAn3 3.4.0-rc.1
The Modern C++ library for sequence analysis.
Loading...
Searching...
No Matches
seqan3::detail::align_result_selector< first_range_t, second_range_t, configuration_t > Struct Template Reference

Helper metafunction to select the alignment result type based on the configuration. More...

#include <seqan3/alignment/pairwise/align_result_selector.hpp>

Public Types

using type = alignment_result_value_type< configured_sequence1_id_type, configured_sequence2_id_type, configured_score_type, configured_end_position_type, configured_begin_position_type, configured_alignment_type, configured_debug_score_matrix_type, configured_debug_trace_matrix_type >
 The selected result type.
 

Private Types

using configured_alignment_type = typename lazy_conditional_t< traits_type::compute_sequence_alignment, lazy< make_pairwise_alignment_type, first_range_t &, second_range_t & >, std::type_identity< disabled_type > >::type
 The configured alignment type if selected.
 
using configured_begin_position_type = std::conditional_t< traits_type::compute_begin_positions, seqan3::detail::advanceable_alignment_coordinate<>, disabled_type >
 The configured begin position type if selected.
 
using configured_debug_score_matrix_type = std::conditional_t< traits_type::is_debug, debug_score_matrix_type, disabled_type >
 The debug score matrix type if selected.
 
using configured_debug_trace_matrix_type = std::conditional_t< traits_type::is_debug &&traits_type::compute_sequence_alignment, debug_trace_matrix_type, disabled_type >
 The debug trace matrix type if selected.
 
using configured_end_position_type = std::conditional_t< traits_type::compute_end_positions, seqan3::detail::advanceable_alignment_coordinate<>, disabled_type >
 The configured end position type if selected.
 
using configured_score_type = std::conditional_t< traits_type::compute_score, score_type, disabled_type >
 The configured score type if selected.
 
using configured_sequence1_id_type = std::conditional_t< traits_type::output_sequence1_id, uint32_t, disabled_type >
 The configured sequence id type for the first sequence if selected.
 
using configured_sequence2_id_type = std::conditional_t< traits_type::output_sequence2_id, uint32_t, disabled_type >
 The configured sequence id type for the second sequence if selected.
 
using debug_score_matrix_type = two_dimensional_matrix< std::optional< score_type >, std::allocator< std::optional< score_type > >, matrix_major_order::column >
 Score matrix type in debug mode.
 
using debug_trace_matrix_type = two_dimensional_matrix< std::optional< trace_directions >, std::allocator< std::optional< trace_directions > >, matrix_major_order::column >
 Trace matrix type in debug mode.
 
using disabled_type = std::nullopt_t *
 The type to indicate that an output option was not configured.
 
using score_type = typename alignment_configuration_traits< std::remove_reference_t< configuration_t > >::original_score_type
 The user configured score type.
 
using traits_type = alignment_configuration_traits< configuration_t >
 The traits type used for the alignment.
 

Detailed Description

template<std::ranges::forward_range first_range_t, std::ranges::forward_range second_range_t, typename configuration_t>
requires is_type_specialisation_of_v<std::remove_cvref_t<configuration_t>, configuration>
struct seqan3::detail::align_result_selector< first_range_t, second_range_t, configuration_t >

Helper metafunction to select the alignment result type based on the configuration.

Template Parameters
first_range_tThe type of the first sequence.
second_range_tThe type of the second sequence.
configuration_tThe configuration type. Must be of type seqan3::detail::configuration

The documentation for this struct was generated from the following file:
Hide me