38template <
typename config_t,
typename traits_t>
47 static_assert(!std::same_as<alignment_result_type, empty_type>,
"Alignment result type was not configured.");
90 template <indexed_sequence_pair_range indexed_sequence_pairs_t,
typename callback_t>
91 requires std::invocable<callback_t, alignment_result_type>
92 constexpr void operator()(indexed_sequence_pairs_t && indexed_sequence_pairs, callback_t && callback)
100 std::forward<callback_t>(callback));
115 template <std::ranges::forward_range first_range_t, std::ranges::forward_range second_range_t,
typename callback_t>
117 first_range_t && first_range,
118 second_range_t && second_range,
119 callback_t && callback)
124 typename traits_t::is_semi_global_type>;
Provides seqan3::align_cfg::edit_scheme.
Provides concepts needed internally for the alignment algorithms.
This algorithm unifies different edit distance implementations and uses the appropriate one depending...
Definition: edit_distance_algorithm.hpp:40
~edit_distance_algorithm()=default
Defaulted.
constexpr edit_distance_algorithm & operator=(edit_distance_algorithm &&)=default
Defaulted.
constexpr edit_distance_algorithm(edit_distance_algorithm const &)=default
Defaulted.
std::shared_ptr< std::remove_cvref_t< config_t > > cfg_ptr
The alignment configuration stored on the heap.
Definition: edit_distance_algorithm.hpp:130
constexpr void compute_single_pair(size_t const idx, first_range_t &&first_range, second_range_t &&second_range, callback_t &&callback)
Invokes the actual alignment computation for a single pair of sequences.
Definition: edit_distance_algorithm.hpp:116
constexpr edit_distance_algorithm(edit_distance_algorithm &&)=default
Defaulted.
constexpr void operator()(indexed_sequence_pairs_t &&indexed_sequence_pairs, callback_t &&callback)
}
Definition: edit_distance_algorithm.hpp:92
constexpr edit_distance_algorithm & operator=(edit_distance_algorithm const &)=default
Defaulted.
typename configuration_traits_type::alignment_result_type alignment_result_type
The configured alignment result type.
Definition: edit_distance_algorithm.hpp:45
constexpr edit_distance_algorithm(config_t const &cfg)
Constructs the wrapper with the passed configuration.
Definition: edit_distance_algorithm.hpp:71
constexpr edit_distance_algorithm()=default
Defaulted.
This calculates an alignment using the edit distance and without a band.
Definition: edit_distance_unbanded.hpp:714
Provides a pairwise alignment algorithm for edit distance but without band.
A helper concept to check if a type is a sequence pair.
The internal SeqAn3 namespace.
Definition: aligned_sequence_concept.hpp:29
constexpr auto const & get(configuration< configs_t... > const &config) noexcept
This is an overloaded member function, provided for convenience. It differs from the above function o...
Definition: configuration.hpp:415
A traits type for the alignment algorithm that exposes static information stored within the alignment...
Definition: type_traits.hpp:83
decltype(determine_alignment_result_type()) alignment_result_type
The alignment result type if present. Otherwise seqan3::detail::empty_type.
Definition: type_traits.hpp:140
The default traits type for the edit distance algorithm.
Definition: edit_distance_fwd.hpp:64