20namespace seqan3::detail
26template <u
int8_t nbr_blocks>
40 constexpr uint8_t blocks() const noexcept
62 uint8_t blocks() const noexcept
70template <u
int8_t nbr_searches, u
int8_t nbr_blocks>
86template <u
int8_t min_error, u
int8_t max_error>
87inline constexpr int optimum_search_scheme{0};
92inline constexpr search_scheme_type<1, 1> optimum_search_scheme<0, 0>{{{{1}, {0}, {0}}}};
95inline constexpr search_scheme_type<2, 2> optimum_search_scheme<0, 1>{
96 {{{1, 2}, {0, 0}, {0, 1}}, {{2, 1}, {0, 1}, {0, 1}}}};
99inline constexpr search_scheme_type<2, 2> optimum_search_scheme<1, 1>{
100 {{{1, 2}, {0, 1}, {0, 1}}, {{2, 1}, {0, 1}, {0, 1}}}};
103inline constexpr search_scheme_type<3, 4> optimum_search_scheme<0, 2>{{{{1, 2, 3, 4}, {0, 0, 1, 1}, {0, 0, 2, 2}},
104 {{3, 2, 1, 4}, {0, 0, 0, 0}, {0, 1, 1, 2}},
105 {{4, 3, 2, 1}, {0, 0, 0, 2}, {0, 1, 2, 2}}}};
108inline constexpr search_scheme_type<3, 4> optimum_search_scheme<1, 2>{{{{1, 2, 3, 4}, {0, 0, 0, 1}, {0, 0, 2, 2}},
109 {{3, 2, 1, 4}, {0, 0, 1, 1}, {0, 1, 1, 2}},
110 {{4, 3, 2, 1}, {0, 0, 0, 2}, {0, 1, 2, 2}}}};
113inline constexpr search_scheme_type<3, 4> optimum_search_scheme<2, 2>{{{{4, 3, 2, 1}, {0, 0, 1, 2}, {0, 0, 2, 2}},
114 {{2, 3, 4, 1}, {0, 0, 0, 2}, {0, 1, 1, 2}},
115 {{1, 2, 3, 4}, {0, 0, 0, 2}, {0, 1, 2, 2}}}};
118inline constexpr search_scheme_type<4, 5> optimum_search_scheme<0, 3>{
120 {{5, 4, 3, 2, 1}, {0, 0, 0, 0, 0}, {0, 0, 3, 3, 3}},
121 {{3, 4, 5, 2, 1}, {0, 0, 1, 1, 1}, {0, 1, 1, 2, 3}},
122 {{2, 3, 4, 5, 1}, {0, 0, 0, 2, 2}, {0, 1, 2, 2, 3}},
123 {{1, 2, 3, 4, 5}, {0, 0, 0, 0, 3}, {0, 2, 2, 3, 3}}}};
126inline constexpr search_scheme_type<4, 5> optimum_search_scheme<1, 3>{
127 {{{5, 4, 3, 2, 1}, {0, 0, 0, 0, 1}, {0, 0, 3, 3, 3}},
128 {{3, 4, 5, 2, 1}, {0, 0, 1, 1, 1}, {0, 1, 1, 2, 3}},
129 {{2, 3, 4, 5, 1}, {0, 0, 0, 2, 2}, {0, 1, 2, 2, 3}},
130 {{1, 2, 3, 4, 5}, {0, 0, 0, 0, 3}, {0, 2, 2, 3, 3}}}};
133inline constexpr search_scheme_type<4, 5> optimum_search_scheme<2, 3>{
134 {{{5, 4, 3, 2, 1}, {0, 0, 0, 0, 2}, {0, 0, 3, 3, 3}},
135 {{3, 4, 5, 2, 1}, {0, 0, 1, 1, 2}, {0, 1, 1, 2, 3}},
136 {{2, 3, 4, 5, 1}, {0, 0, 0, 2, 2}, {0, 1, 2, 2, 3}},
137 {{1, 2, 3, 4, 5}, {0, 0, 0, 0, 3}, {0, 2, 2, 3, 3}}}};
140inline constexpr search_scheme_type<4, 5> optimum_search_scheme<3, 3>{
141 {{{5, 4, 3, 2, 1}, {0, 0, 0, 0, 3}, {0, 0, 3, 3, 3}},
142 {{3, 4, 5, 2, 1}, {0, 0, 1, 1, 3}, {0, 1, 1, 2, 3}},
143 {{2, 3, 4, 5, 1}, {0, 0, 0, 2, 3}, {0, 1, 2, 2, 3}},
144 {{1, 2, 3, 4, 5}, {0, 0, 0, 0, 3}, {0, 2, 2, 3, 3}}}};
auto search(queries_t &&queries, index_t const &index, configuration_t const &cfg=search_cfg::default_configuration)
Search a query or a range of queries in an index.
Definition: search.hpp:103