SeqAn3
The Modern C++ library for sequence analysis.
output.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 
14 #pragma once
15 
21 
26 namespace seqan3::detail
27 {
28 
30 struct search_output_index_cursor {};
32 struct search_output_text_position {};
33 
34 } // namespace seqan3::detail
35 
36 namespace seqan3::search_cfg
37 {
38 
40 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<remove_cvref_t<output_t>, detail::search_output_text_position> ||
57  std::Same<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
77 
Provides basic data structure for strong types.
Configuration element to determine the output type of hits.
Definition: output.hpp:59
detail::search_output_text_position constexpr text_position
Configuration element to receive all hits within the lowest number of errors.
Definition: output.hpp:42
detail::search_output_index_cursor constexpr index_cursor
Configuration element to receive all hits within the error bounds.
Definition: output.hpp:40
Adds pipe interface to configuration elements.
Definition: pipeable_config_element.hpp:30
A special sub namespace for the search configurations.
Provides compatibility matrix for search configurations.
Provides seqan3::pipeable_config_element.
The concept std::Same<T, U> is satisfied if and only if T and U denote the same type.
Definition: aligned_sequence_concept.hpp:35
Provides various type traits on generic types.
Provides seqan3::detail::configuration and utility functions.