SeqAn3
The Modern C++ library for sequence analysis.
detail.hpp
Go to the documentation of this file.
1 // -----------------------------------------------------------------------------------------------------
2 // Copyright (c) 2006-2019, Knut Reinert & Freie Universität Berlin
3 // Copyright (c) 2016-2019, Knut Reinert & MPI für molekulare Genetik
4 // This file may be used, modified and/or redistributed under the terms of the 3-clause BSD-License
5 // shipped with this file and also available at: https://github.com/seqan/seqan3/blob/master/LICENSE.md
6 // -----------------------------------------------------------------------------------------------------
7 
13 #pragma once
14 
16 
17 namespace seqan3::detail
18 {
19 
20 // ----------------------------------------------------------------------------
21 // search_config_id
22 // ----------------------------------------------------------------------------
23 
40 enum struct search_config_id : uint8_t
41 {
43  max_error,
44  max_error_rate,
45  output,
46  mode,
48  // ATTENTION: Must always be the last item; will be used to determine the number of ids.
49  SIZE
51 };
52 
53 // ----------------------------------------------------------------------------
54 // search_config_validation_matrix
55 // ----------------------------------------------------------------------------
56 
67 template <>
68 inline constexpr std::array<std::array<bool, static_cast<uint8_t>(search_config_id::SIZE)>,
69  static_cast<uint8_t>(search_config_id::SIZE)> compatibility_table<search_config_id> =
70 {
71  {
72  // max_error, max_error_rate, output, mode
73  { 0, 0, 1, 1 },
74  { 0, 0, 1, 1 },
75  { 1, 1, 0, 1 },
76  { 1, 1, 1, 0 }
77  }
78 };
79 
80 } // namespace seqan3::detail
Provides functionality to access get function by enum values.
Definition: aligned_sequence_concept.hpp:35