SeqAn3 3.4.0-rc.1
The Modern C++ library for sequence analysis.
Loading...
Searching...
No Matches
align_config_band.hpp
Go to the documentation of this file.
1// SPDX-FileCopyrightText: 2006-2024 Knut Reinert & Freie Universität Berlin
2// SPDX-FileCopyrightText: 2016-2024 Knut Reinert & MPI für molekulare Genetik
3// SPDX-License-Identifier: BSD-3-Clause
4
11#pragma once
12
13#include <limits>
14
20
22{
23
27struct lower_diagonal : public seqan3::detail::strong_type<int32_t, lower_diagonal>
28{
30 using base_t = seqan3::detail::strong_type<int32_t, lower_diagonal>;
31 // Import the base class constructors
32 using base_t::base_t;
33};
34
38struct upper_diagonal : public seqan3::detail::strong_type<int32_t, upper_diagonal>
39{
41 using base_t = seqan3::detail::strong_type<int32_t, upper_diagonal>;
42 // Import the base class constructors
43 using base_t::base_t;
44};
45
60{
61public:
66
70 constexpr band_fixed_size() = default;
71 constexpr band_fixed_size(band_fixed_size const &) = default;
72 constexpr band_fixed_size(band_fixed_size &&) = default;
73 constexpr band_fixed_size & operator=(band_fixed_size const &) = default;
74 constexpr band_fixed_size & operator=(band_fixed_size &&) = default;
75 ~band_fixed_size() = default;
76
95
98 static constexpr seqan3::detail::align_config_id id{seqan3::detail::align_config_id::band};
99};
100
101} // namespace seqan3::align_cfg
Provides some utility functions for the alignment configurations.
Includes customized exception types for the alignment module .
Configuration element for setting a fixed size band.
Definition align_config_band.hpp:60
constexpr band_fixed_size & operator=(band_fixed_size const &)=default
Defaulted.
constexpr band_fixed_size()=default
Defaulted.
constexpr band_fixed_size(seqan3::align_cfg::lower_diagonal const lower_diagonal, seqan3::align_cfg::upper_diagonal const upper_diagonal)
Initialises the fixed size band by setting the lower and the upper matrix diagonal.
Definition align_config_band.hpp:89
constexpr band_fixed_size(band_fixed_size const &)=default
Defaulted.
constexpr band_fixed_size & operator=(band_fixed_size &&)=default
Defaulted.
~band_fixed_size()=default
Defaulted.
constexpr band_fixed_size(band_fixed_size &&)=default
Defaulted.
Provides seqan3::detail::empty_type.
T lowest(T... args)
T max(T... args)
A special sub namespace for the alignment configurations.
Definition align_config_band.hpp:22
constexpr auto const & get(configuration< configs_t... > const &config) noexcept
This is an overloaded member function, provided for convenience. It differs from the above function o...
Definition configuration.hpp:412
Provides seqan3::pipeable_config_element.
Provides basic data structure for strong types.
A strong type representing the lower diagonal of the seqan3::align_cfg::band_fixed_size.
Definition align_config_band.hpp:28
seqan3::detail::strong_type< int32_t, lower_diagonal > base_t
The type of the strong type base class.
Definition align_config_band.hpp:30
A strong type representing the upper diagonal of the seqan3::align_cfg::band_fixed_size.
Definition align_config_band.hpp:39
seqan3::detail::strong_type< int32_t, upper_diagonal > base_t
The type of the strong type base class.
Definition align_config_band.hpp:41
Adds pipe interface to configuration elements.
Definition pipeable_config_element.hpp:29
Hide me