SeqAn3 3.4.0-rc.1
The Modern C++ library for sequence analysis.
Loading...
Searching...
No Matches
search/configuration/detail.hpp
Go to the documentation of this file.
1// SPDX-FileCopyrightText: 2006-2024 Knut Reinert & Freie Universität Berlin
2// SPDX-FileCopyrightText: 2016-2024 Knut Reinert & MPI für molekulare Genetik
3// SPDX-License-Identifier: BSD-3-Clause
4
11#pragma once
12
14
15namespace seqan3::detail
16{
17
18// ----------------------------------------------------------------------------
19// search_config_id
20// ----------------------------------------------------------------------------
21
39enum struct search_config_id : uint8_t
40{
45 on_result,
50 hit,
51 parallel,
54 // ATTENTION: Must always be the last item; will be used to determine the number of ids.
55 SIZE
57};
58
59// ----------------------------------------------------------------------------
60// search_config_validation_matrix
61// ----------------------------------------------------------------------------
62
74template <>
75inline constexpr std::array<std::array<bool, static_cast<uint8_t>(search_config_id::SIZE)>,
76 static_cast<uint8_t>(search_config_id::SIZE)>
78 // max_error_total,
79 // | max_error_substitution,
80 // | | max_error_insertion,
81 // | | | max_error_deletion,
82 // | | | | on_result,
83 // | | | | | output_query_id,
84 // | | | | | | output_reference_id,
85 // | | | | | | | output_reference_begin_position,
86 // | | | | | | | | output_index_cursor,
87 // | | | | | | | | | hit,
88 // | | | | | | | | | | parallel,
89 // | | | | | | | | | | | result_type
90 {0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}, // max_error_total
91 {1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}, // max_error_substitution
92 {1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1}, // max_error_insertion
93 {1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1}, // max_error_deletion
94 {1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1}, // on_result
95 {1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1}, // output_query_id
96 {1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1}, // output_reference_id
97 {1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1}, // output_reference_begin_position
98 {1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1}, // output_index_cursor
99 {1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1}, // hit
100 {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1}, // parallel
101 {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0} // result_type
102 }};
103
104} // namespace seqan3::detail
Provides concepts for the configuration classes.
@ on_result
ID for the on_result option.
@ parallel
ID for the parallel option.
@ SIZE
Represents the number of configuration elements.
@ result_type
ID for the result_type option.
constexpr std::array< std::array< bool, static_cast< uint8_t >(search_config_id::SIZE)>, static_cast< uint8_t >(search_config_id::SIZE)> compatibility_table< search_config_id >
Compatibility matrix to check how search configuration elements can be combined.
Definition search/configuration/detail.hpp:77
search_config_id
Specifies an id for every configuration element.
Definition search/configuration/detail.hpp:40
@ max_error_deletion
Identifier for the max_error_deletion configuration.
@ output_index_cursor
Identifier for the output configuration of the index_cursor.
@ output_reference_begin_position
Identifier for the output configuration of the reference_begin_position.
@ output_reference_id
Identifier for the output configuration of the reference_id.
@ max_error_insertion
Identifier for the max_error_insertion configuration.
@ max_error_total
Identifier for the max_error_total configuration.
@ output_query_id
Identifier for the output configuration of the query_id.
@ max_error_substitution
Identifier for the max_error_substitution configuration.
@ hit
Identifier for the hit configuration (all, all_best, single_best, strata).
The internal SeqAn3 namespace.
Definition aligned_sequence_concept.hpp:26
Hide me