Loading...
Searching...
No Matches
search/configuration/detail.hpp
Go to the documentation of this file.
// SPDX-FileCopyrightText: 2006-2025 Knut Reinert & Freie Universität Berlin
// SPDX-FileCopyrightText: 2016-2025 Knut Reinert & MPI für molekulare Genetik
// SPDX-License-Identifier: BSD-3-Clause
#pragma once
#include <seqan3/core/configuration/detail/concept.hpp>
namespace seqan3::detail
{
// ----------------------------------------------------------------------------
// search_config_id
// ----------------------------------------------------------------------------
enum struct search_config_id : uint8_t
{
max_error_total,
max_error_substitution,
max_error_insertion,
max_error_deletion,
on_result,
output_query_id,
output_reference_id,
output_reference_begin_position,
output_index_cursor,
hit,
parallel,
result_type,
// ATTENTION: Must always be the last item; will be used to determine the number of ids.
SIZE
};
// ----------------------------------------------------------------------------
// search_config_validation_matrix
// ----------------------------------------------------------------------------
template <>
inline 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> = {{
// max_error_total,
// | max_error_substitution,
// | | max_error_insertion,
// | | | max_error_deletion,
// | | | | on_result,
// | | | | | output_query_id,
// | | | | | | output_reference_id,
// | | | | | | | output_reference_begin_position,
// | | | | | | | | output_index_cursor,
// | | | | | | | | | hit,
// | | | | | | | | | | parallel,
// | | | | | | | | | | | result_type
{0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}, // max_error_total
{1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}, // max_error_substitution
{1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1}, // max_error_insertion
{1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1}, // max_error_deletion
{1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1}, // on_result
{1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1}, // output_query_id
{1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1}, // output_reference_id
{1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1}, // output_reference_begin_position
{1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1}, // output_index_cursor
{1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1}, // hit
{1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1}, // parallel
{1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0} // result_type
}};
} // namespace seqan3::detail
concept.hpp
Provides concepts for the configuration classes.
Hide me