57 template <
typename gap_scheme_t>
58 struct align_config_gap
68 template <
template <
typename ...>
typename gap_config_type>
69 struct align_config_gap_adaptor :
public configuration_fn_base<align_config_gap_adaptor<gap_config_type>>
77 template <
typename configuration_type,
78 arithmetic_concept value_type>
80 requires is_algorithm_configuration_v<remove_cvref_t<configuration_type>>
82 constexpr
auto invoke(configuration_type && cfg,
83 gap_scheme<value_type>
const scheme)
const 85 static_assert(is_valid_alignment_configuration_v<
align_cfg::id::gap, remove_cvref_t<configuration_type>>,
88 return std::forward<configuration_type>(cfg).push_front(align_config_gap<gap_scheme<value_type>>
97 template <
typename configuration_type,
98 arithmetic_concept value_type>
100 requires is_algorithm_configuration_v<remove_cvref_t<configuration_type>>
102 constexpr
auto invoke(configuration_type && cfg,
103 gap_score<value_type>
const gs)
const 105 static_assert(is_valid_alignment_configuration_v<
align_cfg::id::gap, remove_cvref_t<configuration_type>>,
108 gap_scheme<value_type> scheme(gs);
109 return std::forward<configuration_type>(cfg).push_front(align_config_gap<decltype(scheme)>{std::move(scheme)});
118 template <
typename configuration_type,
119 arithmetic_concept value_type>
121 requires is_algorithm_configuration_v<remove_cvref_t<configuration_type>>
123 constexpr
auto invoke(configuration_type && cfg,
124 gap_score<value_type>
const gs,
125 gap_open_score<value_type>
const gos)
const 127 static_assert(is_valid_alignment_configuration_v<
align_cfg::id::gap, remove_cvref_t<configuration_type>>,
130 gap_scheme<value_type> scheme(gs, gos);
131 return std::forward<configuration_type>(cfg).push_front(align_config_gap<decltype(scheme)>{std::move(scheme)});
138 struct on_align_config<align_cfg::
id::gap>
141 template <config_element_concept t>
142 using invoke =
typename is_type_specialisation_of<t, align_config_gap>::type;
147 template <
typename value_type>
148 struct align_config_type_to_id<align_config_gap<value_type>>
162 inline constexpr detail::align_config_gap_adaptor<seqan3::detail::align_config_gap>
gap;
Contains basic data structure for strong types.
Provides concepts for core language types and relations that don't have concepts in C++20 (yet)...
constexpr detail::align_config_gap_adaptor< seqan3::detail::align_config_gap > gap
A configuration adaptor for gaps.
Definition: align_config_gap.hpp:162
The alphabet of a gap character '-'.
Definition: gap.hpp:62
Provides seqan3::type_list and auxiliary metafunctions.
Provides seqan3::gap_scheme.
A special sub namespace for the alignment configurations.
Definition: align_config_band.hpp:151
Provides functionality to access get function by enum values.
Identifier for gap configuration.
Definition: aligned_sequence_concept.hpp:288
id
Specifies an id for every configuration element.
Definition: utility.hpp:66
Provides various metafunctions on generic types.
Meta-Header for components of the algorithm submodule.