20 namespace seqan3::detail
26 struct with_score_type
30 static constexpr int8_t rank = 0;
36 struct with_back_coordinate_type
40 static constexpr int8_t rank = 1;
46 struct with_front_coordinate_type
50 static constexpr int8_t rank = 2;
57 struct with_alignment_type
61 static constexpr int8_t rank = 3;
78 inline constexpr detail::with_score_type with_score{};
81 inline constexpr detail::with_back_coordinate_type with_back_coordinate{};
84 inline constexpr detail::with_front_coordinate_type with_front_coordinate{};
87 inline constexpr detail::with_alignment_type with_alignment{};
92 template <arithmetic score_t>
93 inline constexpr detail::score_type<score_t> using_score_type{};
129 template <
typename alignment_result_tag_t = detail::with_score_type,
typename score_t =
int32_t>
147 constexpr
result() =
default;
157 constexpr
result(alignment_result_tag_t result_tag) noexcept :
base_t{result_tag} {}
163 constexpr
result(alignment_result_tag_t result_tag,
164 detail::score_type<score_t> SEQAN3_DOXYGEN_ONLY(score_type_tag)) noexcept :
base_t{result_tag} {}
169 static constexpr detail::align_config_id
id{detail::align_config_id::result};
176 template <
typename alignment_result_tag_t>
178 result(alignment_result_tag_t) -> result<alignment_result_tag_t>;
181 template <
typename alignment_result_tag_t, arithmetic score_t>
182 result(alignment_result_tag_t, detail::score_type<score_t>) -> result<alignment_result_tag_t, score_t>;