SeqAn3  3.0.2
The Modern C++ library for sequence analysis.
alignment_trace_matrix_proxy.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 
13 #pragma once
14 
15 #include <seqan3/std/concepts>
16 
20 
21 namespace seqan3::detail
22 {
23 
34 template <typename coordinate_type, typename trace_type>
35 struct alignment_trace_matrix_proxy
36 {
37  static_assert(std::same_as<trace_type, trace_directions> || simd_concept<trace_type> ||
38  decays_to_ignore_v<trace_type>,
39  "Value type must either be a trace_directions object, a simd vector over such or std::ignore.");
40 
41  coordinate_type coordinate{};
42  trace_type & current;
43  trace_type & r_left;
44  trace_type & w_left;
45  trace_type & up;
46 };
47 
48 } // namespace seqan3::detail
basic.hpp
Provides various type traits on generic types.
concept.hpp
Provides seqan3::simd::simd_concept.
concepts
The Concepts library.
trace_directions.hpp
Provides the declaration of seqan3::detail::trace_directions.