SeqAn3  3.0.1
The Modern C++ library for sequence analysis.
output.hpp
Go to the documentation of this file.
1 // -----------------------------------------------------------------------------------------------------
2 // Copyright (c) 2006-2020, Knut Reinert & Freie Universität Berlin
3 // Copyright (c) 2016-2020, 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 
14 #pragma once
15 
21 
22 namespace seqan3::detail
23 {
24 
27 struct search_output_index_cursor {};
30 struct search_output_text_position {};
31 
32 } // namespace seqan3::detail
33 
34 namespace seqan3::search_cfg
35 {
36 
39 inline detail::search_output_index_cursor constexpr index_cursor;
42 inline detail::search_output_text_position constexpr text_position;
43 
54 template <typename output_t>
56  requires std::same_as<remove_cvref_t<output_t>, detail::search_output_text_position> ||
57  std::same_as<remove_cvref_t<output_t>, detail::search_output_index_cursor>
59 struct output : public pipeable_config_element<output<output_t>, output_t>
60 {
63  static constexpr detail::search_config_id id{detail::search_config_id::output};
64 };
65 
71 template <typename output_t>
75 
76 } // namespace seqan3::search_cfg
strong_type.hpp
Provides basic data structure for strong types.
configuration.hpp
Provides seqan3::detail::configuration and utility functions.
detail.hpp
Provides compatibility matrix for search configurations.
basic.hpp
Provides various type traits on generic types.
seqan3::search_cfg::index_cursor
constexpr detail::search_output_index_cursor index_cursor
Configuration element to receive all hits within the error bounds.
Definition: output.hpp:39
pipeable_config_element.hpp
Provides seqan3::pipeable_config_element.
seqan3::search_cfg
A special sub namespace for the search configurations.
same_as
The concept std::same_as<T, U> is satisfied if and only if T and U denote the same type.
seqan3::pipeable_config_element
Adds pipe interface to configuration elements.
Definition: pipeable_config_element.hpp:30
seqan3::search_cfg::output
Configuration element to determine the output type of hits.
Definition: output.hpp:59
seqan3::search_cfg::text_position
constexpr detail::search_output_text_position text_position
Configuration element to receive all hits within the lowest number of errors.
Definition: output.hpp:42