SeqAn3  3.0.2
The Modern C++ library for sequence analysis.
align_config_score_type.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 
18 
19 namespace seqan3::align_cfg
20 {
34 template <arithmetic score_t>
35 class score_type : public pipeable_config_element<score_type<score_t>>
36 {
37 public:
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 
58  static constexpr seqan3::detail::align_config_id id{seqan3::detail::align_config_id::score_type};
59 };
60 
61 } // namespace seqan3::align_cfg
seqan3::align_cfg::score_type
A configuration element to set the score type used in the alignment algorithm.
Definition: align_config_score_type.hpp:36
pipeable_config_element.hpp
Provides seqan3::pipeable_config_element.
seqan3::align_cfg::score_type::operator=
constexpr score_type & operator=(score_type &&)=default
Defaulted.
core_language.hpp
Provides concepts for core language types and relations that don't have concepts in C++20 (yet).
seqan3::align_cfg::score_type::~score_type
~score_type()=default
seqan3::align_cfg
A special sub namespace for the alignment configurations.
Definition: align_config_band.hpp:23
seqan3::align_cfg::score_type::score_type
constexpr score_type()=default
Defaulted.
seqan3::align_cfg::score_type::score_type
constexpr score_type(score_type const &)=default
Defaulted.
seqan3::align_cfg::score_type::score_type
constexpr score_type(score_type &&)=default
Defaulted.
seqan3::align_cfg::score_type::operator=
constexpr score_type & operator=(score_type const &)=default
Defaulted.
detail.hpp
Provides some utility functions for the alignment configurations.
seqan3::align_cfg::score_type::type
score_t type
The selected score type.
Definition: align_config_score_type.hpp:43