SeqAn3 3.1.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-2021, Knut Reinert & Freie Universität Berlin
3// Copyright (c) 2016-2021, 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
39 static_assert(std::floating_point<score_t> || std::signed_integral<score_t>,
40 "The selected score type must be a signed integral type or floating point type.");
41
43 using type = score_t;
44
48 constexpr score_type() = default;
49 constexpr score_type(score_type const &) = default;
50 constexpr score_type(score_type &&) = default;
51 constexpr score_type & operator=(score_type const &) = default;
52 constexpr score_type & operator=(score_type &&) = default;
53 ~score_type() = default;
54
56
59 static constexpr seqan3::detail::align_config_id id{seqan3::detail::align_config_id::score_type};
60};
61
62} // 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:43
constexpr score_type()=default
Defaulted.
constexpr score_type & operator=(score_type const &)=default
Defaulted.
Provides concepts for core language types and relations that don't have concepts in C++20 (yet).
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