24 namespace seqan3::detail
32 template <
typename search_configuration_t>
36 using empty_search_result_type = search_result<empty_type, empty_type, empty_type, empty_type>;
38 using search_result_type =
40 search_cfg::detail::result_type<empty_search_result_type>{}))
44 static constexpr
bool has_max_error_total =
45 search_configuration_t::template exists<search_cfg::max_error_total>();
47 static constexpr
bool has_max_error_substitution =
48 search_configuration_t::template exists<search_cfg::max_error_substitution>();
50 static constexpr
bool has_max_error_insertion =
51 search_configuration_t::template exists<search_cfg::max_error_insertion>();
53 static constexpr
bool has_max_error_deletion =
54 search_configuration_t::template exists<search_cfg::max_error_deletion>();
57 static constexpr
bool only_max_error_total = has_max_error_total &&
58 !has_max_error_substitution &&
59 !has_max_error_insertion &&
60 !has_max_error_deletion;
63 static constexpr
bool search_all_hits = search_configuration_t::template exists<search_cfg::hit_all>();
65 static constexpr
bool search_single_best_hit = search_configuration_t::template exists<search_cfg::hit_single_best>();
67 static constexpr
bool search_all_best_hits = search_configuration_t::template exists<search_cfg::hit_all_best>();
69 static constexpr
bool search_strata_hits = search_configuration_t::template exists<search_cfg::hit_strata>();
71 static constexpr
bool has_hit_configuration = search_all_hits ||
72 search_single_best_hit ||
73 search_all_best_hits ||
75 search_configuration_t::template exists<search_cfg::hit>();
78 static constexpr
bool output_query_id = search_configuration_t::template exists<search_cfg::output_query_id>();
80 static constexpr
bool output_reference_id =
81 search_configuration_t::template exists<search_cfg::output_reference_id>();
83 static constexpr
bool output_reference_begin_position =
84 search_configuration_t::template exists<search_cfg::output_reference_begin_position>();
86 static constexpr
bool output_index_cursor =
87 search_configuration_t::template exists<search_cfg::output_index_cursor>();
89 static constexpr
bool output_requires_locate_call = output_reference_id | output_reference_begin_position;
92 static constexpr
bool has_output_configuration = output_query_id |
94 output_reference_begin_position |
98 static constexpr
bool has_user_callback = search_configuration_t::template exists<search_cfg::on_result>();