SeqAn3 3.2.0
The Modern C++ library for sequence analysis.
align_config_score_type.hpp
Go to the documentation of this file.
1// -----------------------------------------------------------------------------------------------------
2// Copyright (c) 2006-2022, Knut Reinert & Freie Universität Berlin
3// Copyright (c) 2016-2022, 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
18
19namespace seqan3::align_cfg
20{
34template <arithmetic score_t>
36{
37public:
38 static_assert(std::floating_point<score_t> || std::signed_integral<score_t>,
39 "The selected score type must be a signed integral type or floating point type.");
40
42 using type = score_t;
43
47 constexpr score_type() = default;
48 constexpr score_type(score_type const &) = default;
49 constexpr score_type(score_type &&) = default;
50 constexpr score_type & operator=(score_type const &) = default;
51 constexpr score_type & operator=(score_type &&) = default;
52 ~score_type() = default;
53
55
58 static constexpr seqan3::detail::align_config_id id{seqan3::detail::align_config_id::score_type};
59};
60
61} // namespace seqan3::align_cfg
A configuration element to set the score type used in the alignment algorithm.
Definition: align_config_score_type.hpp:36
~score_type()=default
Defaulted.
constexpr score_type(score_type const &)=default
Defaulted.
constexpr score_type(score_type &&)=default
Defaulted.
constexpr score_type & operator=(score_type &&)=default
Defaulted.
score_t type
The selected score type.
Definition: align_config_score_type.hpp:42
constexpr score_type()=default
Defaulted.
constexpr score_type & operator=(score_type const &)=default
Defaulted.
A special sub namespace for the alignment configurations.
Definition: align_config_band.hpp:25
Provides seqan3::pipeable_config_element.
Adds pipe interface to configuration elements.
Definition: pipeable_config_element.hpp:32
Provides concepts that do not have equivalents in C++20.