The algorithm that performs a unidirectional search on an FM index using trivial backtracking.
More...
|
template<typename query_t > |
void | perform_search_by_hit_strategy (std::vector< typename index_t::cursor_type > &internal_hits, query_t &query, search_param error_state) |
| Calls search_trivial depending on the search strategy (hit configuration) given in the configuration.
|
|
template<bool abort_on_hit, typename query_t > |
bool | search_trivial (typename index_t::cursor_type cur, query_t &query, typename index_t::cursor_type::size_type const query_pos, search_param const error_left, error_type const prev_error) |
| Searches a query sequence in an index using trivial backtracking.
|
|
template<typename configuration_t, typename index_t, typename... policies_t>
class seqan3::detail::unidirectional_search_algorithm< configuration_t, index_t, policies_t >
The algorithm that performs a unidirectional search on an FM index using trivial backtracking.
- Template Parameters
-
configuration_t | The search configuration type. |
index_t | The type of index. |
template<typename configuration_t , typename index_t , typename... policies_t>
template<typename indexed_query_t , typename callback_t >
requires (
std::tuple_size_v<indexed_query_t> == 2) && std::ranges::forward_range<std::tuple_element_t<1, indexed_query_t>> && std::invocable<callback_t,
search_result_type>
Searches a query sequence in an FM index using trivial backtracking.
- Template Parameters
-
indexed_query_t | The type of the indexed query sequence; must model seqan3::tuple_like with exactly two elements and the second tuple element must model std::ranges::forward_range over the index's alphabet. |
callback_t | The callback type to be invoked on a search result; must model std::invocable with the search result. |
- Parameters
-
[in] | indexed_query | The indexed query sequence to be searched in the index. |
[in] | callback | The callback to call on a search result. |
The indexed_query parameter is a pair of an index and a query which shall be searched in the index. The search result can then be identified by the index that was associated with the given query.
Complexity
\(O(|query|^e)\) where \(e\) is the maximum number of errors.